emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs-25 4ab671c: Simplify 8-bit character handling by ter


From: Eli Zaretskii
Subject: [Emacs-diffs] emacs-25 4ab671c: Simplify 8-bit character handling by terminal for 'raw-text'
Date: Sat, 16 Apr 2016 09:56:38 +0000

branch: emacs-25
commit 4ab671c48c6dbec0515797186081cb96cc387c10
Author: Philipp Stephani <address@hidden>
Commit: Eli Zaretskii <address@hidden>

    Simplify 8-bit character handling by terminal for 'raw-text'
    
    * 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 |   65 +++++++++++++++++++------------------------
 lisp/xt-mouse.el           |    5 +---
 2 files changed, 30 insertions(+), 40 deletions(-)

diff --git a/lisp/international/mule.el b/lisp/international/mule.el
index 60a90ae..21ab7e1 100644
--- a/lisp/international/mule.el
+++ b/lisp/international/mule.el
@@ -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))
 
diff --git a/lisp/xt-mouse.el b/lisp/xt-mouse.el
index e520957..a2b6401 100644
--- a/lisp/xt-mouse.el
+++ b/lisp/xt-mouse.el
@@ -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))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]