[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/emacs-24 r108669: term.el (term-send-raw-me
From: |
Chong Yidong |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/emacs-24 r108669: term.el (term-send-raw-meta): Make C-M-<char> keys work (Bug#8172). |
Date: |
Fri, 02 Nov 2012 02:32:23 -0000 |
User-agent: |
Bazaar (2.5.0) |
------------------------------------------------------------
revno: 108669
committer: Chong Yidong <address@hidden>
branch nick: trunk
timestamp: Wed 2012-06-20 12:21:57 -0400
message:
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
modified:
lisp/ChangeLog
lisp/term.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog 2012-06-20 15:51:34 +0000
+++ b/lisp/ChangeLog 2012-06-20 16:21:57 +0000
@@ -1,3 +1,7 @@
+2012-06-20 Chong Yidong <address@hidden>
+
+ * term.el (term-send-raw-meta): Make C-M-<char> keys work (Bug#8172).
+
2012-06-20 David Röthlisberger <address@hidden> (tiny change)
* ido.el (ido-switch-buffer, ido-find-file): Fix up doc of C-j
=== modified file 'lisp/term.el'
--- a/lisp/term.el 2012-06-20 09:21:06 +0000
+++ b/lisp/term.el 2012-06-20 16:21:57 +0000
@@ -1174,21 +1174,21 @@
(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."
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/emacs-24 r108669: term.el (term-send-raw-meta): Make C-M-<char> keys work (Bug#8172).,
Chong Yidong <=