summaryrefslogtreecommitdiff
path: root/lisp/international
diff options
context:
space:
mode:
authorKenichi Handa <handa@m17n.org>2005-07-07 06:20:13 +0000
committerKenichi Handa <handa@m17n.org>2005-07-07 06:20:13 +0000
commit4a6cbbc4168e473cde0a3230afbbcc7612b56889 (patch)
tree00f4cac4d8b1ec84618d410668eb220c46213f9a /lisp/international
parenta9be26751cc1af15035ff9c40aafc698f8c56f30 (diff)
downloademacs-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.el14
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