diff options
Diffstat (limited to 'lisp/term.el')
| -rw-r--r-- | lisp/term.el | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/lisp/term.el b/lisp/term.el index 0dc843c5df7..7461d7443c8 100644 --- a/lisp/term.el +++ b/lisp/term.el | |||
| @@ -1174,21 +1174,21 @@ without any interpretation." | |||
| 1174 | (defun term-send-raw-meta () | 1174 | (defun term-send-raw-meta () |
| 1175 | (interactive) | 1175 | (interactive) |
| 1176 | (let ((char last-input-event)) | 1176 | (let ((char last-input-event)) |
| 1177 | (when (symbolp last-input-event) | 1177 | (when (symbolp char) |
| 1178 | ;; Convert `return' to C-m, etc. | 1178 | ;; Convert `return' to C-m, etc. |
| 1179 | (let ((tmp (get char 'event-symbol-elements))) | 1179 | (let ((tmp (get char 'event-symbol-elements))) |
| 1180 | (when tmp | 1180 | (if tmp (setq char (car tmp))) |
| 1181 | (setq char (car tmp))) | 1181 | (and (symbolp char) |
| 1182 | (when (symbolp char) | 1182 | (setq tmp (get char 'ascii-character)) |
| 1183 | (setq tmp (get char 'ascii-character)) | 1183 | (setq char tmp)))) |
| 1184 | (when tmp | 1184 | (when (numberp char) |
| 1185 | (setq char tmp))))) | 1185 | (let ((base (event-basic-type char)) |
| 1186 | (setq char (event-basic-type char)) | 1186 | (mods (delq 'meta (event-modifiers char)))) |
| 1187 | (term-send-raw-string (if (and (numberp char) | 1187 | (if (memq 'control mods) |
| 1188 | (> char 127) | 1188 | (setq mods (delq 'shift mods))) |
| 1189 | (< char 256)) | 1189 | (term-send-raw-string |
| 1190 | (make-string 1 char) | 1190 | (format "\e%c" |
| 1191 | (format "\e%c" char))))) | 1191 | (event-convert-list (append mods (list base))))))))) |
| 1192 | 1192 | ||
| 1193 | (defun term-mouse-paste (click) | 1193 | (defun term-mouse-paste (click) |
| 1194 | "Insert the primary selection at the position clicked on." | 1194 | "Insert the primary selection at the position clicked on." |