]> code.delx.au - gnu-emacs/commitdiff
Simplify 8-bit character handling by terminal for 'raw-text'
authorPhilipp Stephani <phst@google.com>
Sat, 16 Apr 2016 09:55:17 +0000 (12:55 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sat, 16 Apr 2016 09:55:17 +0000 (12:55 +0300)
* lisp/international/mule.el (set-keyboard-coding-system): Treat
'raw-text' as another coding type that requires 8-bit characters.
* lisp/xt-mouse.el (xterm-mouse--read-coordinate): Use 'no-conversion'
instead of 'latin-1'.

lisp/international/mule.el
lisp/xt-mouse.el

index 60a90ae15a4874e0ed7a84e389a398d8d61d81c6..21ab7e176d76efd7e054cf97e08bded2995ecbb0 100644 (file)
@@ -1445,42 +1445,35 @@ graphical terminals."
   (let ((coding-type (coding-system-type coding-system))
        (saved-meta-mode
         (terminal-parameter terminal 'keyboard-coding-saved-meta-mode)))
-    (if (not (eq coding-type 'raw-text))
-       (let (accept-8-bit)
-         (if (not (or (coding-system-get coding-system :suitable-for-keyboard)
-                      (coding-system-get coding-system :ascii-compatible-p)))
-             (error "Unsuitable coding system for keyboard: %s" coding-system))
-         (cond ((memq coding-type '(charset utf-8 shift-jis big5 ccl))
-                (setq accept-8-bit t))
-               ((eq coding-type 'iso-2022)
-                (let ((flags (coding-system-get coding-system :flags)))
-                  (or (memq '7-bit flags)
-                      (setq accept-8-bit t))))
-               (t
-                (error "Unsupported coding system for keyboard: %s"
-                       coding-system)))
-         (if accept-8-bit
-             (progn
-               (or saved-meta-mode
-                   (set-terminal-parameter terminal
-                                           'keyboard-coding-saved-meta-mode
-                                           (cons (nth 2 (current-input-mode))
-                                                 nil)))
-               (set-input-meta-mode 8 terminal))
-           (when saved-meta-mode
-             (set-input-meta-mode (car saved-meta-mode) terminal)
-             (set-terminal-parameter terminal
-                                     'keyboard-coding-saved-meta-mode
-                                     nil)))
-         ;; Avoid end-of-line conversion.
-         (setq coding-system
-               (coding-system-change-eol-conversion coding-system 'unix)))
-
-      (when saved-meta-mode
-       (set-input-meta-mode (car saved-meta-mode) terminal)
-       (set-terminal-parameter terminal
-                               'keyboard-coding-saved-meta-mode
-                               nil))))
+    (let (accept-8-bit)
+      (if (not (or (coding-system-get coding-system :suitable-for-keyboard)
+                   (coding-system-get coding-system :ascii-compatible-p)))
+          (error "Unsuitable coding system for keyboard: %s" coding-system))
+      (cond ((memq coding-type '(raw-text charset utf-8 shift-jis big5 ccl))
+             (setq accept-8-bit t))
+            ((eq coding-type 'iso-2022)
+             (let ((flags (coding-system-get coding-system :flags)))
+               (or (memq '7-bit flags)
+                   (setq accept-8-bit t))))
+            (t
+             (error "Unsupported coding system for keyboard: %s"
+                    coding-system)))
+      (if accept-8-bit
+          (progn
+            (or saved-meta-mode
+                (set-terminal-parameter terminal
+                                        'keyboard-coding-saved-meta-mode
+                                        (cons (nth 2 (current-input-mode))
+                                              nil)))
+            (set-input-meta-mode 8 terminal))
+        (when saved-meta-mode
+          (set-input-meta-mode (car saved-meta-mode) terminal)
+          (set-terminal-parameter terminal
+                                  'keyboard-coding-saved-meta-mode
+                                  nil)))
+      ;; Avoid end-of-line conversion.
+      (setq coding-system
+            (coding-system-change-eol-conversion coding-system 'unix))))
   (set-keyboard-coding-system-internal coding-system terminal)
   (setq keyboard-coding-system coding-system))
 
index e52095789baedd6ae856b6e63149696c0edcfc99..a2b64019f97ccbe8bd98c066b066dfec642ed47d 100644 (file)
@@ -155,10 +155,7 @@ single byte."
           (set-keyboard-coding-system
            (if (terminal-parameter nil 'xterm-mouse-utf-8)
                'utf-8-unix
-             ;; Use Latin-1 instead of no-conversion to avoid flicker
-             ;; due to `set-keyboard-coding-system' changing the meta
-             ;; mode.
-             'latin-1))
+             'no-conversion))
           ;; Wait only a little; we assume that the entire escape sequence
           ;; has already been sent when this function is called.
           (read-char nil nil 0.1))