summaryrefslogtreecommitdiff
path: root/lisp/international/mule-cmds.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/international/mule-cmds.el')
-rw-r--r--lisp/international/mule-cmds.el18
1 files changed, 12 insertions, 6 deletions
diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el
index cdb76a2ccc1..c297ce5e27b 100644
--- a/lisp/international/mule-cmds.el
+++ b/lisp/international/mule-cmds.el
@@ -36,6 +36,9 @@
(defvar dos-codepage)
(autoload 'widget-value "wid-edit"))
+(defvar mac-system-coding-system)
+(defvar mac-system-locale)
+
;;; MULE related key bindings and menus.
(defvar mule-keymap (make-sparse-keymap)
@@ -2392,12 +2395,15 @@ See also `locale-charset-language-names', `locale-language-names',
(= 0 (length locale))) ; nil or empty string
(setq locale (getenv (pop vars))))))
- (unless (or locale (not (fboundp 'mac-get-preference)))
- (setq locale (mac-get-preference "AppleLocale"))
- (unless locale
- (let ((languages (mac-get-preference "AppleLanguages")))
- (unless (= (length languages) 0) ; nil or empty vector
- (setq locale (aref languages 0))))))
+ (unless locale
+ ;; The two tests are kept separate so the byte-compiler sees
+ ;; that mac-get-preference is only called after checking its existence.
+ (when (fboundp 'mac-get-preference)
+ (setq locale (mac-get-preference "AppleLocale"))
+ (unless locale
+ (let ((languages (mac-get-preference "AppleLanguages")))
+ (unless (= (length languages) 0) ; nil or empty vector
+ (setq locale (aref languages 0)))))))
(unless (or locale (not (boundp 'mac-system-locale)))
(setq locale mac-system-locale))