summaryrefslogtreecommitdiff
path: root/lisp/w32-fns.el
diff options
context:
space:
mode:
authorJuanma Barranquero <lekktu@gmail.com>2008-10-17 11:11:34 +0000
committerJuanma Barranquero <lekktu@gmail.com>2008-10-17 11:11:34 +0000
commitac62ec165aad69984eb5c944d6b63443df319099 (patch)
tree8fc2bde322e86ba884f22d62452e920498b8468c /lisp/w32-fns.el
parent69caa40ac5f51eb27c546b85b693e843532219a5 (diff)
downloademacs-ac62ec165aad69984eb5c944d6b63443df319099.tar.gz
* w32-fns.el (w32-list-locales): Decode output of `w32-get-locale-info'
according to `locale-coding-system'. (This fixes trivial bug reported as part of bug#1179). Sort list of valid locale ids (EnumSystemLocales does not guarantee any particular order). Use `when'.
Diffstat (limited to 'lisp/w32-fns.el')
-rw-r--r--lisp/w32-fns.el19
1 files changed, 10 insertions, 9 deletions
diff --git a/lisp/w32-fns.el b/lisp/w32-fns.el
index 8a8ef7f1739..70057871c31 100644
--- a/lisp/w32-fns.el
+++ b/lisp/w32-fns.el
@@ -217,18 +217,19 @@ You should set this to t when using a non-system shell.\n\n"))))
(defun w32-list-locales ()
"List the name and id of all locales supported by Windows."
(interactive)
- (if (null w32-valid-locales)
- (setq w32-valid-locales (w32-get-valid-locale-ids)))
+ (when (null w32-valid-locales)
+ (setq w32-valid-locales (sort (w32-get-valid-locale-ids) #'<)))
(switch-to-buffer-other-window (get-buffer-create "*Supported Locales*"))
(erase-buffer)
(insert "LCID\tAbbrev\tFull name\n\n")
- (insert (mapconcat
- '(lambda (x)
- (format "%d\t%s\t%s"
- x
- (w32-get-locale-info x)
- (w32-get-locale-info x t)))
- w32-valid-locales "\n"))
+ (insert (decode-coding-string (mapconcat
+ (lambda (x)
+ (format "%d\t%s\t%s"
+ x
+ (w32-get-locale-info x)
+ (w32-get-locale-info x t)))
+ w32-valid-locales "\n")
+ locale-coding-system))
(insert "\n")
(goto-char (point-min)))