From ac62ec165aad69984eb5c944d6b63443df319099 Mon Sep 17 00:00:00 2001 From: Juanma Barranquero Date: Fri, 17 Oct 2008 11:11:34 +0000 Subject: [PATCH] * 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'. --- lisp/ChangeLog | 8 ++++++++ lisp/w32-fns.el | 19 ++++++++++--------- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index f3e6fe7c2a9..0ee9b6196c9 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,11 @@ +2008-10-17 Juanma Barranquero + + * 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'. + 2008-10-16 Juanma Barranquero * w32-fns.el (w32-check-shell-configuration): Doc fix. 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))) -- 2.39.5