Mercurial > emacs
changeset 13057:5c78211aa9e0
(te-escape, te-escape-help): Handle non-ASCII events.
author | Karl Heuer <kwzh@gnu.org> |
---|---|
date | Thu, 21 Sep 1995 20:54:35 +0000 |
parents | c1ce3b4556f2 |
children | 1d26583f8c2b |
files | lisp/terminal.el |
diffstat | 1 files changed, 29 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/terminal.el Thu Sep 21 20:21:16 1995 +0000 +++ b/lisp/terminal.el Thu Sep 21 20:54:35 1995 +0000 @@ -168,26 +168,39 @@ (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."