From 4bf4fb05c2bd126436050d00c615b28223bbc99c Mon Sep 17 00:00:00 2001 From: Gerd Moellmann Date: Wed, 12 Jul 2000 18:25:40 +0000 Subject: [PATCH] (term-send-raw-meta): Strip modifiers from the keyboard event when deciding what to send to the terminal. --- lisp/ChangeLog | 5 +++++ lisp/term.el | 28 +++++++++++++++------------- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 8700f3bc27e..247bf61e162 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2000-07-12 Gerd Moellmann + + * 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 * cus-start.el: Add optional version as 4th element of specs and diff --git a/lisp/term.el b/lisp/term.el index d76db38ee4e..5f68c4f1713 100644 --- a/lisp/term.el +++ b/lisp/term.el @@ -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." -- 2.39.2