see `language-info-alist'."
(if (symbolp lang-env)
(setq lang-env (symbol-name lang-env)))
- (let ((lang-slot (assoc-ignore-case lang-env language-info-alist)))
+ (let ((lang-slot (assoc-string lang-env language-info-alist t)))
(if lang-slot
(cdr (assq key (cdr lang-slot))))))
:link '(custom-manual "(emacs)Language Environments")
:set (lambda (symbol value) (set-language-environment value))
:get (lambda (x)
- (or (car-safe (assoc-ignore-case
+ (or (car-safe (assoc-string
(if (symbolp current-language-environment)
(symbol-name current-language-environment)
current-language-environment)
- language-info-alist))
+ language-info-alist t))
"English"))
;; custom type will be updated with `set-language-info'.
:type (if language-info-alist
(if (symbolp language-name)
(setq language-name (symbol-name language-name)))
(setq language-name "English"))
- (let ((slot (assoc-ignore-case language-name language-info-alist)))
+ (let ((slot (assoc-string language-name language-info-alist t)))
(unless slot
(error "Language environment not defined: %S" language-name))
(setq language-name (car slot)))
?3))
;; We suppress these setting for the moment because the
;; above assumption is wrong.
- ;; (aset standard-display-table ?' [?\e,F"\e(B])
- ;; (aset standard-display-table ?` [?\e,F!\e(B])
+ ;; (aset standard-display-table ?' [?\e$B!G\e(B])
+ ;; (aset standard-display-table ?` [?\e$B!F\e(B])
;; The fonts don't have the relevant bug.
(aset standard-display-table 160 nil)
(aset standard-display-table (make-char 'latin-iso8859-1 160)
the characters `-' and `_' as insignificant. The coding system base
is returned. Thus, for instance, if charset \"ISO8859-2\",
`iso-latin-2' is returned."
- (or (car (assoc-ignore-case charset locale-charset-alist))
+ (or (car (assoc-string charset locale-charset-alist t))
(let ((cs coding-system-alist)
c)
(while (and (not c) cs)
(message "Warning: Default coding system `%s' disagrees with
system codeset `%s' for this locale." coding-system codeset))))))))
+ ;; On Windows, override locale-coding-system, keyboard-coding-system,
+ ;; selection-coding-system with system codepage.
+ (when (boundp 'w32-ansi-code-page)
+ (let ((code-page-coding (intern (format "cp%d" w32-ansi-code-page))))
+ (when (coding-system-p code-page-coding)
+ (setq locale-coding-system code-page-coding)
+ (set-selection-coding-system code-page-coding)
+ (set-keyboard-coding-system code-page-coding)
+ (set-terminal-coding-system code-page-coding))))
+
;; Default to A4 paper if we're not in a C, POSIX or US locale.
;; (See comments in Flocale_info.)
(let ((locale locale)
("posix$" . letter)
(".._us" . letter)
(".._pr" . letter)
- (".._ca" . letter)))
+ (".._ca" . letter)
+ ("enu$" . letter) ; Windows
+ ("esu$" . letter)
+ ("enc$" . letter)
+ ("frc$" . letter)))
'a4))))))
nil)
\f