[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: set-locale-environement: strange default detection
From: |
Sascha Wilde |
Subject: |
Re: set-locale-environement: strange default detection |
Date: |
Wed, 18 Jul 2007 14:28:55 +0200 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.1.50 (gnu/linux) |
David Kastrup <address@hidden> wrote:
> Sascha Wilde <address@hidden> writes:
>
>> David Kastrup <address@hidden> wrote:
>>> Sascha Wilde <address@hidden> writes:
>>
>>>> a friend of mine (unfortunately a vim user, but a nice guy otherwise),
>>>> tried emacs on Gnu/Linux and was surprised that `C-h t' presented him
>>>> the German version of the tutorial.
>> [...]
[...]
>> So maybe we should check for LANG, LC_ALL and maybe LC_MESSAGES in
>> tutorial.el itself.
>
> Possibly. I am not sure whether environment variables tell the whole
> story, and in a readable way (there are locale system calls, too), but
> they would probably cover 90% of the cases.
I attached a rough patch, which solves the problem at least on
POSIX-like systems:
diff -c -L /vol1/opt/cvs-emacs-sarge/share/emacs/22.1.50/lisp/tutorial.el.gz -L
/vol1/opt/src/emacs-hg-sarge/lisp/tutorial.el /tmp/jka-com32572F4r
/vol1/opt/src/emacs-hg-sarge/lisp/tutorial.el
*** /vol1/opt/cvs-emacs-sarge/share/emacs/22.1.50/lisp/tutorial.el.gz
--- /vol1/opt/src/emacs-hg-sarge/lisp/tutorial.el
***************
*** 621,626 ****
--- 621,636 ----
face tutorial-warning-face
read-only t)))))))))))
+ (defun tutorial-get-language ()
+ "Use LC_ALL, LC_MESSAGES, LANG in turn to determine language to use.
+ This is more reliable then current-language-environment, which is not
+ intended to chose the language used for messages and documentation."
+ (let ((locale "") (vars '("LC_ALL" "LC_MESSAGES" "LANG")))
+ (while (and vars
+ (= 0 (length locale))) ; nil or empty string
+ (setq locale (getenv (pop vars))))
+ (locale-name-match locale locale-language-names)))
+
(defun tutorial--saved-dir ()
"Directory to which tutorials are saved."
(expand-file-name "tutorial" user-emacs-directory))
***************
*** 766,774 ****
(add-hook 'minibuffer-setup-hook
'minibuffer-completion-help)
(read-language-name 'tutorial "Language: " "English"))
! (if (get-language-info current-language-environment
'tutorial)
! current-language-environment
! "English")))
(filename (get-language-info lang 'tutorial))
;; Choose a buffer name including the language so that
;; several languages can be tested simultaneously:
--- 776,785 ----
(add-hook 'minibuffer-setup-hook
'minibuffer-completion-help)
(read-language-name 'tutorial "Language: " "English"))
! (or (tutorial-get-language)
! (if (get-language-info current-language-environment
'tutorial)
! current-language-environment
! "English"))))
(filename (get-language-info lang 'tutorial))
;; Choose a buffer name including the language so that
;; several languages can be tested simultaneously:
Diff finished. Wed Jul 18 14:23:30 2007
sascha
--
Sascha Wilde
Nothing is fool-proof to a sufficiently talented fool.
- set-locale-environement: strange default detection, Sascha Wilde, 2007/07/18
- Re: set-locale-environement: strange default detection, Reiner Steib, 2007/07/18
- Re: set-locale-environement: strange default detection, David Kastrup, 2007/07/18
- Re: set-locale-environement: strange default detection, Sascha Wilde, 2007/07/19
- Re: set-locale-environement: strange default detection, David Kastrup, 2007/07/19
- Better language detection for tutorial (was: set-locale-environement: strange default detection), Sascha Wilde, 2007/07/22
- Re: Better language detection for tutorial (was: set-locale-environement: strange default detection), Andreas Schwab, 2007/07/22
- Re: Better language detection for tutorial, David Kastrup, 2007/07/22
- Re: Better language detection for tutorial, Andreas Schwab, 2007/07/22
- Re: Better language detection for tutorial, Sascha Wilde, 2007/07/22
- Re: Better language detection for tutorial, Eli Zaretskii, 2007/07/22