aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKarl Heuer <[email protected]>1995-09-21 20:54:35 +0000
committerKarl Heuer <[email protected]>1995-09-21 20:54:35 +0000
commitbe934b539dc69df4952e66e1e52b27ca5acade9d (patch)
treeb178929fc220828d4e9a27daeb54cdbef7c6d9fb
parent8e183d5bf28232279728b6687185134d2bf22580 (diff)
(te-escape, te-escape-help): Handle non-ASCII events.
-rw-r--r--lisp/terminal.el45
1 files changed, 29 insertions, 16 deletions
diff --git a/lisp/terminal.el b/lisp/terminal.el
index 6dbd10a2a8..07baabddaa 100644
--- a/lisp/terminal.el
+++ b/lisp/terminal.el
@@ -168,26 +168,39 @@ performance.")
(defun te-escape ()
(interactive)
(let (s
- (local (current-local-map))
- (global (current-global-map)))
+ (local ((defun te-escape ()
+ (interactive)
+ (let (s
+ (local (current-local-map))
+ (global (current-global-map)))
(unwind-protect
- (progn
- (use-global-map terminal-escape-map)
- (use-local-map terminal-escape-map)
- (setq s (read-key-sequence
- (if current-prefix-arg
- (format "Emacs Terminal escape> %d "
- (prefix-numeric-value current-prefix-arg))
- "Emacs Terminal escape> "))))
+ (progn
+ (use-global-map terminal-escape-map)
+ (use-local-map terminal-escape-map)
+ (setq s (read-key-sequence
+ (if current-prefix-arg
+ (format "Emacs Terminal escape> %d "
+ (prefix-numeric-value current-prefix-arg))
+ "Emacs Terminal escape> "))))
(use-global-map global)
(use-local-map local))
+
(message "")
- (cond ((string= s (make-string 1 terminal-escape-char))
- (setq last-command-char terminal-escape-char)
- (let ((terminal-escape-char -259))
- (te-pass-through)))
- ((setq s (lookup-key terminal-escape-map s))
- (call-interactively s)))))
+
+ (cond
+ ;; Certain keys give vector notation, like [escape] when
+ ;; you hit esc key...
+ ((and (stringp s)
+ (string= s (make-string 1 terminal-escape-char)))
+ (setq last-command-char terminal-escape-char)
+ (let ((terminal-escape-char -259))
+ (te-pass-through)))
+
+ ((setq s (lookup-key terminal-escape-map s))
+ (call-interactively s)))
+
+ ))
+
(defun te-escape-help ()
"Provide help on commands available after terminal-escape-char is typed."