[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Better language detection for tutorial (was: set-locale-environement: st
From: |
Sascha Wilde |
Subject: |
Better language detection for tutorial (was: set-locale-environement: strange default detection) |
Date: |
Sun, 22 Jul 2007 16:59:14 +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:
>> So, what about the idea I sketched in my patch?
>
> The proper fix would be to have something more fine-grained than
> language-environment inside of Emacs.
>
> Until such a time, your fix appeared like the right thing to do at
> that junction to me. Your patch (I am going my memory here) has the
> disadvantage that it might look up the empty string as a language
> explicitly, expecting it to turn up nil. That's sort of ugly.
Here a revised version of the patch:
diff -c /usr/local/hg/emacs-hg/lisp/tutorial.el
/home/wilde/src/emacs-hg-work/lisp/tutorial.el
*** /usr/local/hg/emacs-hg/lisp/tutorial.el 2007-06-13 08:22:59.377470279
+0200
--- /home/wilde/src/emacs-hg-work/lisp/tutorial.el 2007-07-22
16:45:04.220919438 +0200
***************
*** 621,626 ****
--- 621,641 ----
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))))
+ (if (< 0 (length locale))
+ (let ((language (locale-name-match locale
+ locale-language-names)))
+ (if (consp language)
+ (car language)
+ language)))))
+
(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:
--- 781,790 ----
(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. Sun Jul 22 16:48:36 2007
--
Sascha Wilde : The most exciting phrase to hear in science, the one
: that heralds new discoveries, is not "Eureka!" (I found
: it!) but "That's funny ..." -- Isaac Asimov
- 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 <=
- 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
- Re: Better language detection for tutorial, Sascha Wilde, 2007/07/23
- Re: Better language detection for tutorial, Eli Zaretskii, 2007/07/23
- Re: Better language detection for tutorial, Sascha Wilde, 2007/07/23
- Re: Better language detection for tutorial, David Kastrup, 2007/07/23
- Re: Better language detection for tutorial, Eli Zaretskii, 2007/07/24