1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-16 17:19:41 +00:00

term.el (term-send-raw-meta): Make C-M-<char> keys work (Bug#8172).

-------------- This lime and the following will be ignored --------------

modified:
  lisp/ChangeLog
  lisp/term.el
This commit is contained in:
Chong Yidong 2012-06-20 12:21:57 -04:00
parent d34c18b1c9
commit 297a8f1ddb
2 changed files with 17 additions and 13 deletions

View File

@ -1,3 +1,7 @@
2012-06-20 Chong Yidong <cyd@gnu.org>
* term.el (term-send-raw-meta): Make C-M-<char> keys work (Bug#8172).
2012-06-20 David Röthlisberger <david@rothlis.net> (tiny change)
* ido.el (ido-switch-buffer, ido-find-file): Fix up doc of C-j

View File

@ -1174,21 +1174,21 @@ without any interpretation."
(defun term-send-raw-meta ()
(interactive)
(let ((char last-input-event))
(when (symbolp last-input-event)
(when (symbolp char)
;; Convert `return' to C-m, etc.
(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)))))
(if tmp (setq char (car tmp)))
(and (symbolp char)
(setq tmp (get char 'ascii-character))
(setq char tmp))))
(when (numberp char)
(let ((base (event-basic-type char))
(mods (delq 'meta (event-modifiers char))))
(if (memq 'control mods)
(setq mods (delq 'shift mods)))
(term-send-raw-string
(format "\e%c"
(event-convert-list (append mods (list base)))))))))
(defun term-mouse-paste (click)
"Insert the primary selection at the position clicked on."