aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris2017-12-14 21:18:42 -0500
committerGlenn Morris2017-12-14 21:18:42 -0500
commit109a3bf6a185bc05bbee74f5b610ab0d4ada533d (patch)
treed7624e38a3f1d1a0209497100cea333bd6b9c03d
parentddcd6e63d1624c03a227c5ae4abca2443c28430d (diff)
downloademacs-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.el94
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