# HG changeset patch # User Stefan Monnier # Date 1111765302 0 # Node ID 439d4fa30f2167096e2475eecb6bad19dc90d3e9 # Parent 0d98509a87d86044c552b7742b4e9be7930fc428 (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. diff -r 0d98509a87d8 -r 439d4fa30f21 lisp/international/mule-cmds.el --- 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.)