changeset 64125:9f966287a535

(make-coding-system): Describe `ascii-incompatible' property in the docstring. (set-file-name-coding-system): Signal an error if coding-system is ascii-incompatible. (set-keyboard-coding-system): Likewise.
author Kenichi Handa <handa@m17n.org>
date Thu, 07 Jul 2005 06:21:30 +0000
parents 8ee5c917c069
children 14582985815a
files lisp/international/mule.el
diffstat 1 files changed, 12 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/international/mule.el	Thu Jul 07 06:20:13 2005 +0000
+++ b/lisp/international/mule.el	Thu Jul 07 06:21:30 2005 +0000
@@ -839,6 +839,12 @@
   If the value is non-nil, the coding system preserves composition
   information.
 
+  o ascii-incompatible
+
+  If the value is non-nil, the coding system is not compatible
+  with ASCII, which means it encodes or decodes ASCII character
+  string to the different byte sequence.
+
 These properties are set in PLIST, a property list.  This function
 also sets properties `coding-category' and `alias-coding-systems'
 automatically.
@@ -1191,6 +1197,9 @@
 see) to CODING-SYSTEM."
   (interactive "zCoding system for file names (default, nil): ")
   (check-coding-system coding-system)
+  (if (and coding-system
+	   (coding-system-get coding-system 'ascii-incompatible))
+      (error "%s is not ASCII-compatible" coding-system))
   (setq file-name-coding-system coding-system))
 
 (defvar default-terminal-coding-system nil
@@ -1247,6 +1256,9 @@
       (setq coding-system default-keyboard-coding-system))
   (if coding-system
       (setq default-keyboard-coding-system coding-system))
+  (if (and coding-system
+	   (coding-system-get coding-system 'ascii-incompatible))
+      (error "%s is not ASCII-compatible" coding-system))
   (set-keyboard-coding-system-internal coding-system)
   (setq keyboard-coding-system coding-system)
   (encoded-kbd-mode (if coding-system 1 0)))