Mercurial > emacs
changeset 60934:439d4fa30f21
(set-locale-environment): For Mac OS X's Terminal.app, use utf-8.
(set-display-table-and-terminal-coding-system): Add coding-system arg.
(set-locale-environment): Use it.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Fri, 25 Mar 2005 15:41:42 +0000 |
parents | 0d98509a87d8 |
children | 6d43bc1092aa |
files | lisp/international/mule-cmds.el |
diffstat | 1 files changed, 13 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/international/mule-cmds.el Fri Mar 25 15:33:22 2005 +0000 +++ b/lisp/international/mule-cmds.el Fri Mar 25 15:41:42 2005 +0000 @@ -1734,7 +1734,7 @@ (reset-language-environment) -(defun set-display-table-and-terminal-coding-system (language-name) +(defun set-display-table-and-terminal-coding-system (language-name &optional coding-system) "Set up the display table and terminal coding system for LANGUAGE-NAME." (let ((coding (get-language-info language-name 'unibyte-display))) (if coding @@ -1748,7 +1748,7 @@ (dotimes (i 128) (aset standard-display-table (+ i 128) nil)))) (or (eq window-system 'pc) - (set-terminal-coding-system coding)))) + (set-terminal-coding-system (or coding-system coding))))) (defun set-language-environment (language-name) "Set up multi-lingual environment for using LANGUAGE-NAME. @@ -2446,7 +2446,8 @@ ;; we are using single-byte characters, ;; so the display table and terminal coding system are irrelevant. (when default-enable-multibyte-characters - (set-display-table-and-terminal-coding-system language-name)) + (set-display-table-and-terminal-coding-system + language-name coding-system)) ;; Set the `keyboard-coding-system' if appropriate (tty ;; only). At least X and MS Windows can generate @@ -2476,9 +2477,16 @@ (set-keyboard-coding-system code-page-coding) (set-terminal-coding-system code-page-coding)))) - ;; On Darwin, file names are always encoded in utf-8, no matter the locale. (when (eq system-type 'darwin) - (setq default-file-name-coding-system 'utf-8)) + ;; On Darwin, file names are always encoded in utf-8, no matter + ;; the locale. + (setq default-file-name-coding-system 'utf-8) + ;; Mac OS X's Terminal.app by default uses utf-8 regardless of + ;; the locale. + (when (and (null window-system) + (equal (getenv "TERM_PROGRAM") "Apple_Terminal")) + (set-terminal-coding-system 'utf-8) + (set-keyboard-coding-system 'utf-8))) ;; Default to A4 paper if we're not in a C, POSIX or US locale. ;; (See comments in Flocale_info.)