From: Karl Heuer Date: Thu, 21 Sep 1995 20:54:35 +0000 (+0000) Subject: (te-escape, te-escape-help): Handle non-ASCII events. X-Git-Tag: emacs-19.34~2803 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=be934b539dc69df4952e66e1e52b27ca5acade9d;p=emacs.git (te-escape, te-escape-help): Handle non-ASCII events. --- diff --git a/lisp/terminal.el b/lisp/terminal.el index 6dbd10a2a85..07baabddaa4 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."