bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#2497: 23.0.91; Fails to read UTF-8 on Win2k


From: Eli Zaretskii
Subject: bug#2497: 23.0.91; Fails to read UTF-8 on Win2k
Date: Mon, 02 Mar 2009 21:25:58 +0200

> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: Eli Zaretskii <eliz@gnu.org>,  2497@emacsbugs.donarmstrong.com,  
> uwe.siart@tum.de
> Date: Mon, 02 Mar 2009 10:25:45 -0500
> 
> So, again, the bug is in the ordering

Actually, the OP was complaining that, even with this ordering, Emacs
23 did TRT for him, and that a recent change broke that.  That bug is
fixed now, I believe, so you are talking about a more general problem.

> we have to figure out which code ends up putting latin-1 before utf-8 in
> the coding system priority.

Well, I think this is fairly easy: set-locale-environment does it.
Observe:

  (defun set-locale-environment (&optional locale-name frame)
    "Set up multi-lingual environment for using LOCALE-NAME.
  This sets the language environment, the coding system priority,
  the default input method and sometimes other things.
        ...
        (let ((language-name
               (locale-name-match locale locale-language-names))
              (charset-language-name
               (locale-name-match locale locale-charset-language-names))
              (default-eol-type (coding-system-eol-type
                                 default-buffer-file-coding-system))
              (coding-system
               (or (locale-name-match locale locale-preferred-coding-systems)
                   (when locale
                     (if (string-match "\\.\\([^@]+\\)" locale)
                         (locale-charset-to-coding-system
                          (match-string 1 locale)))))))
        ...
          (when (and (not frame)
                     coding-system
                     (not (coding-system-equal coding-system
                                               locale-coding-system)))
    >>>>>         (prefer-coding-system coding-system)
            ;; Fixme: perhaps prefer-coding-system should set this too.
            ;; But it's not the time to do such a fundamental change.
            (setq default-sendmail-coding-system coding-system)
            (setq locale-coding-system coding-system))))

Even the doc string says that the coding system priority is set
according to the locale's native encoding.






reply via email to

[Prev in Thread] Current Thread [Next in Thread]