]> git.eshelyaron.com Git - emacs.git/commitdiff
(term-send-raw-meta): Strip modifiers from the keyboard
authorGerd Moellmann <gerd@gnu.org>
Wed, 12 Jul 2000 18:25:40 +0000 (18:25 +0000)
committerGerd Moellmann <gerd@gnu.org>
Wed, 12 Jul 2000 18:25:40 +0000 (18:25 +0000)
event when deciding what to send to the terminal.

lisp/ChangeLog
lisp/term.el

index 8700f3bc27e96400863ef5ecec027c507467d134..247bf61e1620d34f329a1a5a11343597581e58f2 100644 (file)
@@ -1,3 +1,8 @@
+2000-07-12  Gerd Moellmann  <gerd@gnu.org>
+
+       * term.el (term-send-raw-meta): Strip modifiers from the keyboard
+       event when deciding what to send to the terminal.
+
 2000-07-12  Dave Love  <fx@gnu.org>
 
        * cus-start.el: Add optional version as 4th element of specs and
index d76db38ee4ef91bb63edbade23ad402a4c3ba84b..5f68c4f171338382a60d5fd570a4509fbaf78069 100644 (file)
@@ -1205,20 +1205,22 @@ without any interpretation."
 
 (defun term-send-raw-meta ()
   (interactive)
-  (if (symbolp last-input-char)
+  (let ((char last-input-char))
+    (when (symbolp last-input-char)
       ;; Convert `return' to C-m, etc.
-      (let ((tmp (get last-input-char 'event-symbol-elements)))
-       (if tmp
-           (setq last-input-char (car tmp)))
-       (if (symbolp last-input-char)
-           (progn
-             (setq tmp (get last-input-char 'ascii-character))
-             (if tmp (setq last-input-char tmp))))))
-  (term-send-raw-string (if (and (numberp last-input-char)
-                                (> last-input-char 127)
-                                (< last-input-char 256))
-                           (make-string 1 last-input-char)
-                         (format "\e%c" last-input-char))))
+      (let ((tmp (get char 'event-symbol-elements)))
+       (when tmp
+         (setq char (car tmp)))
+       (when (symbolp char)
+         (setq tmp (get char 'ascii-character))
+         (when tmp
+           (setq char tmp)))))
+    (setq char (event-basic-type char))
+    (term-send-raw-string (if (and (numberp char)
+                                  (> char 127)
+                                  (< char 256))
+                             (make-string 1 char)
+                           (format "\e%c" char)))))
 
 (defun term-mouse-paste (click arg)
   "Insert the last stretch of killed text at the position clicked on."