Mercurial > emacs
comparison lisp/international/mule.el @ 90212:76ab0b868ab0
(coding-system-get): Check
`ascii-incompatible' for backward compatiblity.
(set-file-name-coding-system): Signal an error for a coding system
not suitable for file name.
(set-keyboard-coding-system): Signal an error for a coding system
not suitable for keyboard.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Fri, 29 Jul 2005 06:17:39 +0000 |
parents | 187d6a1f84f7 |
children | ee12d75eb214 |
comparison
equal
deleted
inserted
replaced
90211:efcbeb957a31 | 90212:76ab0b868ab0 |
---|---|
840 "Extract a value from CODING-SYSTEM's property list for property PROP. | 840 "Extract a value from CODING-SYSTEM's property list for property PROP. |
841 For compatibility with Emacs 20/21, this accepts old-style symbols | 841 For compatibility with Emacs 20/21, this accepts old-style symbols |
842 like `mime-charset' as well as the current style like `:mime-charset'." | 842 like `mime-charset' as well as the current style like `:mime-charset'." |
843 (or (plist-get (coding-system-plist coding-system) prop) | 843 (or (plist-get (coding-system-plist coding-system) prop) |
844 (if (not (keywordp prop)) | 844 (if (not (keywordp prop)) |
845 (plist-get (coding-system-plist coding-system) | 845 ;; For backward compatiblity. |
846 (intern (concat ":" (symbol-name prop))))))) | 846 (if (eq prop 'ascii-incompatible) |
847 (not (plist-get (coding-system-plist coding-system) | |
848 :ascii-compatible-p)) | |
849 (plist-get (coding-system-plist coding-system) | |
850 (intern (concat ":" (symbol-name prop)))))))) | |
847 | 851 |
848 (defun coding-system-eol-type-mnemonic (coding-system) | 852 (defun coding-system-eol-type-mnemonic (coding-system) |
849 "Return the string indicating end-of-line format of CODING-SYSTEM." | 853 "Return the string indicating end-of-line format of CODING-SYSTEM." |
850 (let* ((eol-type (coding-system-eol-type coding-system)) | 854 (let* ((eol-type (coding-system-eol-type coding-system)) |
851 (val (cond ((eq eol-type 0) eol-mnemonic-unix) | 855 (val (cond ((eq eol-type 0) eol-mnemonic-unix) |
1171 "Set coding system for decoding and encoding file names to CODING-SYSTEM. | 1175 "Set coding system for decoding and encoding file names to CODING-SYSTEM. |
1172 It actually just set the variable `file-name-coding-system' (which | 1176 It actually just set the variable `file-name-coding-system' (which |
1173 see) to CODING-SYSTEM." | 1177 see) to CODING-SYSTEM." |
1174 (interactive "zCoding system for file names (default, nil): ") | 1178 (interactive "zCoding system for file names (default, nil): ") |
1175 (check-coding-system coding-system) | 1179 (check-coding-system coding-system) |
1180 (if (and coding-system | |
1181 (not (coding-system-get coding-system :ascii-compatible-p)) | |
1182 (not (coding-system-get coding-system :suitable-for-file-name))) | |
1183 (error "%s is not suitable for file names" coding-system)) | |
1176 (setq file-name-coding-system coding-system)) | 1184 (setq file-name-coding-system coding-system)) |
1177 | 1185 |
1178 (defvar default-terminal-coding-system nil | 1186 (defvar default-terminal-coding-system nil |
1179 "Default value for the terminal coding system. | 1187 "Default value for the terminal coding system. |
1180 This is normally set according to the selected language environment. | 1188 This is normally set according to the selected language environment. |
1227 (if (and (not coding-system) | 1235 (if (and (not coding-system) |
1228 (not (keyboard-coding-system))) | 1236 (not (keyboard-coding-system))) |
1229 (setq coding-system default-keyboard-coding-system)) | 1237 (setq coding-system default-keyboard-coding-system)) |
1230 (if coding-system | 1238 (if coding-system |
1231 (setq default-keyboard-coding-system coding-system)) | 1239 (setq default-keyboard-coding-system coding-system)) |
1240 (if (and coding-system | |
1241 (not (coding-system-get coding-system :ascii-compatible-p)) | |
1242 (not (coding-system-get coding-system :suitable-for-keyboard))) | |
1243 (error "%s is not suitable for keyboard" coding-system)) | |
1232 (set-keyboard-coding-system-internal coding-system) | 1244 (set-keyboard-coding-system-internal coding-system) |
1233 (setq keyboard-coding-system coding-system) | 1245 (setq keyboard-coding-system coding-system) |
1234 (encoded-kbd-mode (if coding-system 1 0))) | 1246 (encoded-kbd-mode (if coding-system 1 0))) |
1235 | 1247 |
1236 (defcustom keyboard-coding-system nil | 1248 (defcustom keyboard-coding-system nil |