diff options
| author | Glenn Morris | 2017-12-14 21:18:42 -0500 |
|---|---|---|
| committer | Glenn Morris | 2017-12-14 21:18:42 -0500 |
| commit | 109a3bf6a185bc05bbee74f5b610ab0d4ada533d (patch) | |
| tree | d7624e38a3f1d1a0209497100cea333bd6b9c03d | |
| parent | ddcd6e63d1624c03a227c5ae4abca2443c28430d (diff) | |
| download | emacs-109a3bf6a185bc05bbee74f5b610ab0d4ada533d.tar.gz emacs-109a3bf6a185bc05bbee74f5b610ab0d4ada533d.zip | |
Make w32-fns.el loadable on any platform (bug#6997)
* lisp/w32-fns.el (find-file-visit-truename): Only set on MS Windows.
(set-message-beep, w32-charset-info-alist): Check bound before using.
| -rw-r--r-- | lisp/w32-fns.el | 94 |
1 files changed, 48 insertions, 46 deletions
diff --git a/lisp/w32-fns.el b/lisp/w32-fns.el index 1ba6403bea5..6cdc594bcdb 100644 --- a/lisp/w32-fns.el +++ b/lisp/w32-fns.el | |||
| @@ -31,13 +31,13 @@ | |||
| 31 | 31 | ||
| 32 | ;;;; Function keys | 32 | ;;;; Function keys |
| 33 | 33 | ||
| 34 | (declare-function set-message-beep "w32fns.c" (sound)) | ||
| 35 | (declare-function w32-get-locale-info "w32proc.c" (lcid &optional longform)) | 34 | (declare-function w32-get-locale-info "w32proc.c" (lcid &optional longform)) |
| 36 | (declare-function w32-get-valid-locale-ids "w32proc.c" ()) | 35 | (declare-function w32-get-valid-locale-ids "w32proc.c" ()) |
| 37 | 36 | ||
| 38 | ;; Map all versions of a filename (8.3, longname, mixed case) to the | 37 | (if (eq system-type 'windows-nt) |
| 39 | ;; same buffer. | 38 | ;; Map all versions of a filename (8.3, longname, mixed case) to the |
| 40 | (setq find-file-visit-truename t) | 39 | ;; same buffer. |
| 40 | (setq find-file-visit-truename t)) | ||
| 41 | 41 | ||
| 42 | (defun w32-shell-name () | 42 | (defun w32-shell-name () |
| 43 | "Return the name of the shell being used." | 43 | "Return the name of the shell being used." |
| @@ -242,7 +242,8 @@ This function is provided for backward compatibility, since | |||
| 242 | (defvaralias 'w32-system-coding-system 'locale-coding-system) | 242 | (defvaralias 'w32-system-coding-system 'locale-coding-system) |
| 243 | 243 | ||
| 244 | ;; Set to a system sound if you want a fancy bell. | 244 | ;; Set to a system sound if you want a fancy bell. |
| 245 | (set-message-beep nil) | 245 | (if (fboundp 'set-message-beep) ; w32fns.c |
| 246 | (set-message-beep nil)) | ||
| 246 | 247 | ||
| 247 | (defvar w32-charset-info-alist) ; w32font.c | 248 | (defvar w32-charset-info-alist) ; w32font.c |
| 248 | 249 | ||
| @@ -259,47 +260,48 @@ bit output with no translation." | |||
| 259 | (add-to-list 'w32-charset-info-alist | 260 | (add-to-list 'w32-charset-info-alist |
| 260 | (cons xlfd-charset (cons windows-charset codepage)))) | 261 | (cons xlfd-charset (cons windows-charset codepage)))) |
| 261 | 262 | ||
| 262 | ;; The last charset we add becomes the "preferred" charset for the return | 263 | (when (boundp 'w32-charset-info-alist) |
| 263 | ;; value from w32-select-font etc, so list the most important charsets last. | 264 | ;; The last charset we add becomes the "preferred" charset for the return |
| 264 | (w32-add-charset-info "iso8859-14" 'w32-charset-ansi 28604) | 265 | ;; value from w32-select-font etc, so list the most important charsets last. |
| 265 | (w32-add-charset-info "iso8859-15" 'w32-charset-ansi 28605) | 266 | (w32-add-charset-info "iso8859-14" 'w32-charset-ansi 28604) |
| 266 | ;; The following two are included for pattern matching. | 267 | (w32-add-charset-info "iso8859-15" 'w32-charset-ansi 28605) |
| 267 | (w32-add-charset-info "jisx0201" 'w32-charset-shiftjis 932) | 268 | ;; The following two are included for pattern matching. |
| 268 | (w32-add-charset-info "jisx0208" 'w32-charset-shiftjis 932) | 269 | (w32-add-charset-info "jisx0201" 'w32-charset-shiftjis 932) |
| 269 | (w32-add-charset-info "jisx0201-latin" 'w32-charset-shiftjis 932) | 270 | (w32-add-charset-info "jisx0208" 'w32-charset-shiftjis 932) |
| 270 | (w32-add-charset-info "jisx0201-katakana" 'w32-charset-shiftjis 932) | 271 | (w32-add-charset-info "jisx0201-latin" 'w32-charset-shiftjis 932) |
| 271 | (w32-add-charset-info "ksc5601.1989" 'w32-charset-hangeul 949) | 272 | (w32-add-charset-info "jisx0201-katakana" 'w32-charset-shiftjis 932) |
| 272 | (w32-add-charset-info "big5" 'w32-charset-chinesebig5 950) | 273 | (w32-add-charset-info "ksc5601.1989" 'w32-charset-hangeul 949) |
| 273 | (w32-add-charset-info "gb2312.1980" 'w32-charset-gb2312 936) | 274 | (w32-add-charset-info "big5" 'w32-charset-chinesebig5 950) |
| 274 | (w32-add-charset-info "ms-symbol" 'w32-charset-symbol nil) | 275 | (w32-add-charset-info "gb2312.1980" 'w32-charset-gb2312 936) |
| 275 | (w32-add-charset-info "ms-oem" 'w32-charset-oem 437) | 276 | (w32-add-charset-info "ms-symbol" 'w32-charset-symbol nil) |
| 276 | (w32-add-charset-info "ms-oemlatin" 'w32-charset-oem 850) | 277 | (w32-add-charset-info "ms-oem" 'w32-charset-oem 437) |
| 277 | (w32-add-charset-info "iso8859-2" 'w32-charset-easteurope 28592) | 278 | (w32-add-charset-info "ms-oemlatin" 'w32-charset-oem 850) |
| 278 | (w32-add-charset-info "iso8859-3" 'w32-charset-turkish 28593) | 279 | (w32-add-charset-info "iso8859-2" 'w32-charset-easteurope 28592) |
| 279 | (w32-add-charset-info "iso8859-4" 'w32-charset-baltic 28594) | 280 | (w32-add-charset-info "iso8859-3" 'w32-charset-turkish 28593) |
| 280 | (w32-add-charset-info "iso8859-6" 'w32-charset-arabic 28596) | 281 | (w32-add-charset-info "iso8859-4" 'w32-charset-baltic 28594) |
| 281 | (w32-add-charset-info "iso8859-7" 'w32-charset-greek 28597) | 282 | (w32-add-charset-info "iso8859-6" 'w32-charset-arabic 28596) |
| 282 | (w32-add-charset-info "iso8859-8" 'w32-charset-hebrew 1255) | 283 | (w32-add-charset-info "iso8859-7" 'w32-charset-greek 28597) |
| 283 | (w32-add-charset-info "iso8859-9" 'w32-charset-turkish 1254) | 284 | (w32-add-charset-info "iso8859-8" 'w32-charset-hebrew 1255) |
| 284 | (w32-add-charset-info "iso8859-13" 'w32-charset-baltic 1257) | 285 | (w32-add-charset-info "iso8859-9" 'w32-charset-turkish 1254) |
| 285 | (w32-add-charset-info "koi8-r" 'w32-charset-russian 20866) | 286 | (w32-add-charset-info "iso8859-13" 'w32-charset-baltic 1257) |
| 286 | (w32-add-charset-info "iso8859-5" 'w32-charset-russian 28595) | 287 | (w32-add-charset-info "koi8-r" 'w32-charset-russian 20866) |
| 287 | (w32-add-charset-info "tis620-2533" 'w32-charset-thai 874) | 288 | (w32-add-charset-info "iso8859-5" 'w32-charset-russian 28595) |
| 288 | (w32-add-charset-info "windows-1258" 'w32-charset-vietnamese 1258) | 289 | (w32-add-charset-info "tis620-2533" 'w32-charset-thai 874) |
| 289 | (w32-add-charset-info "ksc5601.1992" 'w32-charset-johab 1361) | 290 | (w32-add-charset-info "windows-1258" 'w32-charset-vietnamese 1258) |
| 290 | (w32-add-charset-info "mac-roman" 'w32-charset-mac 10000) | 291 | (w32-add-charset-info "ksc5601.1992" 'w32-charset-johab 1361) |
| 291 | (w32-add-charset-info "iso10646-1" 'w32-charset-default t) | 292 | (w32-add-charset-info "mac-roman" 'w32-charset-mac 10000) |
| 292 | 293 | (w32-add-charset-info "iso10646-1" 'w32-charset-default t) | |
| 293 | ;; ;; If Unicode Windows charset is not defined, use ansi fonts. | 294 | |
| 294 | ;; (w32-add-charset-info "iso10646-1" 'w32-charset-ansi t)) | 295 | ;; ;; If Unicode Windows charset is not defined, use ansi fonts. |
| 295 | 296 | ;; (w32-add-charset-info "iso10646-1" 'w32-charset-ansi t)) | |
| 296 | ;; Preferred names | 297 | |
| 297 | (w32-add-charset-info "big5-0" 'w32-charset-chinesebig5 950) | 298 | ;; Preferred names |
| 298 | (w32-add-charset-info "gb2312.1980-0" 'w32-charset-gb2312 936) | 299 | (w32-add-charset-info "big5-0" 'w32-charset-chinesebig5 950) |
| 299 | (w32-add-charset-info "jisx0208-sjis" 'w32-charset-shiftjis 932) | 300 | (w32-add-charset-info "gb2312.1980-0" 'w32-charset-gb2312 936) |
| 300 | (w32-add-charset-info "ksc5601.1987-0" 'w32-charset-hangeul 949) | 301 | (w32-add-charset-info "jisx0208-sjis" 'w32-charset-shiftjis 932) |
| 301 | (w32-add-charset-info "tis620-0" 'w32-charset-thai 874) | 302 | (w32-add-charset-info "ksc5601.1987-0" 'w32-charset-hangeul 949) |
| 302 | (w32-add-charset-info "iso8859-1" 'w32-charset-ansi 1252) | 303 | (w32-add-charset-info "tis620-0" 'w32-charset-thai 874) |
| 304 | (w32-add-charset-info "iso8859-1" 'w32-charset-ansi 1252)) | ||
| 303 | 305 | ||
| 304 | 306 | ||
| 305 | ;;;; Support for build process | 307 | ;;;; Support for build process |