]> git.eshelyaron.com Git - emacs.git/commitdiff
(find-coding-systems-for-charsets):
authorDave Love <fx@gnu.org>
Tue, 7 Jan 2003 18:06:43 +0000 (18:06 +0000)
committerDave Love <fx@gnu.org>
Tue, 7 Jan 2003 18:06:43 +0000 (18:06 +0000)
Use coding-system-type, coding-system-charset-list.
(standard-keyboard-coding-systems): Deleted.
(set-locale-environment): Maybe set keyboard coding system.  Avoid
typical warning about codeset in C locale.

lisp/international/mule-cmds.el

index 762ea31920fef5679515ce9bd613ffc11f879042..7ceea4b31ca712dd29917fca0aaafddab3b37598 100644 (file)
@@ -459,9 +459,8 @@ Emacs, but is unlikely to be what you really want now."
        (t
         (let (codings)
           (dolist (cs (coding-system-list t))
-            (let ((cs-charsets (and (eq 'charset
-                                        (coding-system-get cs :coding-type))
-                                    (coding-system-get cs :charset-list)))
+            (let ((cs-charsets (and (eq (coding-system-type cs) 'charset)
+                                    (coding-system-charset-list cs)))
                   (charsets charsets))
               (if (coding-system-get cs :ascii-compatible-p)
                   (add-to-list 'cs-charsets 'ascii))
@@ -1911,14 +1910,6 @@ the language name that would otherwise be used for this locale.")
 The first element whose locale regexp matches the start of a downcased locale
 specifies the coding system to prefer when using that locale.")
 
-(defconst standard-keyboard-coding-systems
-  (purecopy
-   '(iso-latin-1 iso-latin-2 iso-latin-3 iso-latin-4 iso-latin-5
-     iso-latin-6 iso-latin-7 iso-latin-8 iso-latin-9))
-  "Coding systems that are commonly used for keyboards.
-`set-locale-environment' will set the `keyboard-coding-system' if the
-coding-system specified by the locale setting is a member of this list.")
-
 (defun locale-name-match (key alist)
   "Search for KEY in ALIST, which should be a list of regexp-value pairs.
 Return the value corresponding to the first regexp that matches the
@@ -2035,14 +2026,14 @@ See also `locale-charset-language-names', `locale-language-names',
          (when default-enable-multibyte-characters
            (set-display-table-and-terminal-coding-system language-name))
 
-;;; encoded-kbd-mode doesn't work properly at present, and i don't
-;;; think this is the right thing to do anyhow.  -- fx
-;;;      ;; Set the `keyboard-coding-system' if appropriate.
-;;;      (let ((kcs (or coding-system
-;;;                     (car (get-language-info language-name
-;;;                                             'coding-system)))))
-;;;        (if (memq kcs standard-keyboard-coding-systems)
-;;;            (set-keyboard-coding-system kcs)))
+         ;; Set the `keyboard-coding-system' if appropriate (tty
+         ;; only).  At least X and MS Windows can generate
+         ;; multilingual input.
+         (unless window-system
+           (let ((kcs (or coding-system
+                          (car (get-language-info language-name
+                                                  'coding-system)))))
+             (if kcs (set-keyboard-coding-system kcs))))
 
          (setq locale-coding-system
                (car (get-language-info language-name 'coding-priority))))
@@ -2050,7 +2041,8 @@ See also `locale-charset-language-names', `locale-language-names',
        (when coding-system
          (prefer-coding-system coding-system)
          (setq locale-coding-system coding-system))
-       (let ((codeset (langinfo 'codeset))
+       (when (get-language-info current-language-environment 'coding-priority)
+               (let ((codeset (langinfo 'codeset))
              (coding-system (car (coding-system-priority-list))))
          (when codeset
            (let ((cs (coding-system-aliases coding-system))
@@ -2060,8 +2052,8 @@ See also `locale-charset-language-names', `locale-language-names',
                      (locale-charset-match-p (symbol-name (pop cs))
                                              (langinfo 'codeset))))
              (unless result
-               (message "Warning: Default coding system `%s' doesn't agree with
-the system code set `%s' for this locale." coding-system codeset)))))))))
+                 (message "Warning: Default coding system `%s' disagrees with
+system codeset `%s' for this locale." coding-system codeset))))))))))
 \f
 ;;; Character code property
 (put 'char-code-property-table 'char-table-extra-slots 0)