diff options
author | Juanma Barranquero <lekktu@gmail.com> | 2008-10-17 11:11:34 +0000 |
---|---|---|
committer | Juanma Barranquero <lekktu@gmail.com> | 2008-10-17 11:11:34 +0000 |
commit | ac62ec165aad69984eb5c944d6b63443df319099 (patch) | |
tree | 8fc2bde322e86ba884f22d62452e920498b8468c /lisp/w32-fns.el | |
parent | 69caa40ac5f51eb27c546b85b693e843532219a5 (diff) | |
download | emacs-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.el | 19 |
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))) |