diff options
author | Kenichi Handa <handa@m17n.org> | 2005-07-07 06:20:13 +0000 |
---|---|---|
committer | Kenichi Handa <handa@m17n.org> | 2005-07-07 06:20:13 +0000 |
commit | 4a6cbbc4168e473cde0a3230afbbcc7612b56889 (patch) | |
tree | 00f4cac4d8b1ec84618d410668eb220c46213f9a /lisp/international | |
parent | a9be26751cc1af15035ff9c40aafc698f8c56f30 (diff) | |
download | emacs-4a6cbbc4168e473cde0a3230afbbcc7612b56889.tar.gz |
(set-default-coding-systems): Don't
set default-file-name-coding-system and
default-keyboard-coding-system if coding-system is
ASCII-incompatible.
Diffstat (limited to 'lisp/international')
-rw-r--r-- | lisp/international/mule-cmds.el | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el index bb69dbda155..d503eebe6d9 100644 --- a/lisp/international/mule-cmds.el +++ b/lisp/international/mule-cmds.el @@ -321,9 +321,11 @@ This sets the following coding systems: o coding system of a newly created buffer o default coding system for subprocess I/O This also sets the following values: - o default value used as `file-name-coding-system' for converting file names. + o default value used as `file-name-coding-system' for converting file names + if CODING-SYSTEM is ASCII-compatible. o default value for the command `set-terminal-coding-system' (not on MSDOS) - o default value for the command `set-keyboard-coding-system'." + o default value for the command `set-keyboard-coding-system' + if CODING-SYSTEM is ASCII-compatible.." (check-coding-system coding-system) (setq-default buffer-file-coding-system coding-system) (if (fboundp 'ucs-set-table-for-input) @@ -331,14 +333,18 @@ This also sets the following values: (or (local-variable-p 'buffer-file-coding-system buffer) (ucs-set-table-for-input buffer)))) - (if (and default-enable-multibyte-characters (not (eq system-type 'darwin))) + (if (and default-enable-multibyte-characters (not (eq system-type 'darwin)) + (or (not coding-system) + (not (coding-system-get coding-system 'ascii-incompatible)))) ;; The file-name coding system on Darwin systems is always utf-8. (setq default-file-name-coding-system coding-system)) ;; If coding-system is nil, honor that on MS-DOS as well, so ;; that they could reset the terminal coding system. (unless (and (eq window-system 'pc) coding-system) (setq default-terminal-coding-system coding-system)) - (setq default-keyboard-coding-system coding-system) + (if (or (not coding-system) + (not (coding-system-get coding-system 'ascii-incompatible))) + (setq default-keyboard-coding-system coding-system)) ;; Preserve eol-type from existing default-process-coding-systems. ;; On non-unix-like systems in particular, these may have been set ;; carefully by the user, or by the startup code, to deal with the |