]> code.delx.au - gnu-emacs/blobdiff - lisp/international/mule-cmds.el
* international/mule-cmds.el (ucs-names): Exclude new "Enclosed
[gnu-emacs] / lisp / international / mule-cmds.el
index 663c5769e35c28b1e1f6c53a6f22e5d390f169e0..5ae8290687e3dac6a64dd1b9fca5d2e91f9d77e0 100644 (file)
@@ -31,6 +31,8 @@
 
 ;;; Code:
 
+(eval-when-compile (require 'cl))      ; letf
+
 (defvar dos-codepage)
 (autoload 'widget-value "wid-edit")
 
     (define-key-after map [separator-input-method] '("--"))
 
     (define-key-after map [set-various-coding-system]
-      (list 'menu-item "Set Coding Systems" set-coding-system-map
-            :enable 'default-enable-multibyte-characters))
+      `(menu-item "Set Coding Systems" ,set-coding-system-map
+                 :enable (default-value 'enable-multibyte-characters)))
     (define-key-after map [view-hello-file]
       '(menu-item "Show Multi-lingual Text" view-hello-file
         :enable (file-readable-p
@@ -281,9 +283,9 @@ wrong, use this command again to toggle back to the right mode."
   "Display the HELLO file, which lists many languages and characters."
   (interactive)
   ;; We have to decode the file in any environment.
-  (let ((default-enable-multibyte-characters t)
-       (coding-system-for-read 'iso-2022-7bit))
-    (view-file (expand-file-name "HELLO" data-directory))))
+  (letf (((default-value 'enable-multibyte-characters) t)
+        (coding-system-for-read 'iso-2022-7bit))
+       (view-file (expand-file-name "HELLO" data-directory))))
 
 (defun universal-coding-system-argument (coding-system)
   "Execute an I/O command using the specified coding system."
@@ -358,7 +360,7 @@ This also sets the following values:
   (if (eq system-type 'darwin)
       ;; The file-name coding system on Darwin systems is always utf-8.
       (setq default-file-name-coding-system 'utf-8)
-    (if (and default-enable-multibyte-characters
+    (if (and (default-value 'enable-multibyte-characters)
             (or (not coding-system)
                 (coding-system-get coding-system 'ascii-compatible-p)))
        (setq default-file-name-coding-system coding-system)))
@@ -401,7 +403,7 @@ A coding system that requires automatic detection of text+encoding
   (let ((base (coding-system-base coding-system))
        (eol-type (coding-system-eol-type coding-system)))
     (set-coding-system-priority base)
-    (and (interactive-p)
+    (and (called-interactively-p 'interactive)
         (or (eq base coding-system)
             (message "Highest priority is set to %s (base of %s)"
                      base coding-system)))
@@ -852,7 +854,7 @@ and TO is ignored."
   (let ((no-other-defaults nil)
        auto-cs)
     (unless (or (stringp from) find-file-literally)
-      ;; Find an auto-coding that is specified for the the current
+      ;; Find an auto-coding that is specified for the current
       ;; buffer and file from the region FROM and TO.
       (save-excursion
        (save-restriction
@@ -1096,9 +1098,9 @@ Meaningful values for KEY include
                        in extended segments of CTEXT.  See the variable
                        `ctext-non-standard-encodings' for more detail.
 
-The following keys take effect only when multibyte characters are
-globally disabled, i.e. the value of `default-enable-multibyte-characters'
-is nil.
+The following key takes effect only when multibyte characters are
+globally disabled, i.e. the default value of `enable-multibyte-characters'
+is nil (which is an obsolete and deprecated use):
 
   unibyte-display    value is a coding system to encode characters for
                        the terminal.  Characters in the range of 160 to
@@ -1138,7 +1140,7 @@ see `language-info-alist'."
             (set-language-environment-nonascii-translation lang-env))
            ((eq key 'charset)
             (set-language-environment-charset lang-env))
-           ((and (not default-enable-multibyte-characters)
+           ((and (not (default-value 'enable-multibyte-characters))
                  (or (eq key 'unibyte-syntax) (eq key 'unibyte-display)))
             (set-language-environment-unibyte lang-env)))))
 
@@ -1528,7 +1530,7 @@ which marks the variable `default-input-method' as set for Custom buffers."
       (setq input-method (symbol-name input-method)))
   (help-setup-xref (list #'describe-input-method
                         (or input-method current-input-method))
-                  (interactive-p))
+                  (called-interactively-p 'interactive))
 
   (if (null input-method)
       (describe-current-input-method)
@@ -1542,7 +1544,7 @@ which marks the variable `default-input-method' as set for Custom buffers."
        (error
         (activate-input-method current)
         (help-setup-xref (list #'describe-input-method input-method)
-                         (interactive-p))
+                         (called-interactively-p 'interactive))
         (with-output-to-temp-buffer (help-buffer)
           (let ((elt (assoc input-method input-method-alist)))
             (princ (format
@@ -1849,7 +1851,7 @@ specifies the character set for the major languages of Western Europe."
   (set-language-environment-nonascii-translation language-name)
   (set-language-environment-charset language-name)
   ;; Unibyte setups if necessary.
-  (unless default-enable-multibyte-characters
+  (unless (default-value 'enable-multibyte-characters)
     (set-language-environment-unibyte language-name))
 
   (let ((func (get-language-info language-name 'setup-function)))
@@ -1934,7 +1936,8 @@ See `set-language-info-alist' for use in programs."
   ;; Unibyte Emacs on MS-DOS wants to display all 8-bit characters with
   ;; the native font, and codes 160 and 146 stand for something very
   ;; different there.
-  (or (and (eq window-system 'pc) (not default-enable-multibyte-characters))
+  (or (and (eq window-system 'pc) (not (default-value
+                                        'enable-multibyte-characters)))
       (progn
        ;; Most X fonts used to do the wrong thing for latin-1 code 160.
        (unless (and (eq window-system 'x)
@@ -2064,7 +2067,7 @@ See `set-language-info-alist' for use in programs."
     (require feature))
   (let ((doc (get-language-info language-name 'documentation)))
     (help-setup-xref (list #'describe-language-environment language-name)
-                    (interactive-p))
+                    (called-interactively-p 'interactive))
     (with-output-to-temp-buffer (help-buffer)
       (save-excursion
        (set-buffer standard-output)
@@ -2602,10 +2605,10 @@ See also `locale-charset-language-names', `locale-language-names',
          (unless frame
            (set-language-environment language-name))
 
-         ;; If default-enable-multibyte-characters is nil,
+         ;; If the default enable-multibyte-characters is nil,
          ;; we are using single-byte characters,
          ;; so the display table and terminal coding system are irrelevant.
-         (when default-enable-multibyte-characters
+         (when (default-value 'enable-multibyte-characters)
            (set-display-table-and-terminal-coding-system
             language-name coding-system frame))
 
@@ -2890,7 +2893,8 @@ on encoding."
                         (and (>= c #x3400 ) (<= c #x4dbf )) ; CJK Ideograph Extension A
                         (and (>= c #x4e00 ) (<= c #x9fff )) ; CJK Ideograph
                         (and (>= c #xd800 ) (<= c #xfaff )) ; Private/Surrogate
-                        (and (>= c #x20000) (<= c #x2ffff)) ; CJK Ideograph Extension B
+                        (and (>= c #x1f200) (<= c #x1f2ff)) ; Enclosed Ideographic Supplement
+                        (and (>= c #x20000) (<= c #x2ffff)) ; CJK Ideograph Extensions B, C
                         )
                  (if (setq name (get-char-code-property c 'name))
                      (setq names (cons (cons name c) names)))