]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/term.el (term-set-escape-char): Properly set term-escape-char.
authorStefan Monnier <monnier@iro.umontreal.ca>
Fri, 11 May 2012 13:13:09 +0000 (09:13 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Fri, 11 May 2012 13:13:09 +0000 (09:13 -0400)
lisp/ChangeLog
lisp/term.el

index e983957e2854ba547ee9e4cae371e7216e40a57b..17d0fcb64279408f9eb66d9ebaa34dbbfe12c767 100644 (file)
@@ -1,3 +1,8 @@
+2012-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * term.el (term-set-escape-char): Properly set term-escape-char.
+       See http://stackoverflow.com/questions/10524656.
+
 2012-05-10  Chong Yidong  <cyd@gnu.org>
 
        * ffap.el (ffap-url-unwrap-local): Make it work right (Bug#9131).
index f44f34226f2e6015da779cfb8f161cf7ee46522a..841641a97098f130c616084a07867898820ce837 100644 (file)
@@ -876,18 +876,21 @@ is buffer-local."
 \f
 ;; Set up term-raw-map, etc.
 
-(defun term-set-escape-char (c)
+(defun term-set-escape-char (key)
   "Change `term-escape-char' and keymaps that depend on it."
   (when term-escape-char
+    ;; Undo previous term-set-escape-char.
     (define-key term-raw-map term-escape-char 'term-send-raw))
-  (setq c (make-string 1 c))
-  (define-key term-raw-map c term-raw-escape-map)
+  (setq term-escape-char (vector key))
+  (define-key term-raw-map term-escape-char term-raw-escape-map)
   ;; Define standard bindings in term-raw-escape-map
   (define-key term-raw-escape-map "\C-v"
     (lookup-key (current-global-map) "\C-v"))
   (define-key term-raw-escape-map "\C-u"
     (lookup-key (current-global-map) "\C-u"))
-  (define-key term-raw-escape-map c 'term-send-raw)
+  ;; FIXME: If we later call term-set-escape-char again with another key,
+  ;; we should undo this binding.
+  (define-key term-raw-escape-map term-escape-char 'term-send-raw)
   (define-key term-raw-escape-map "\C-q" 'term-pager-toggle)
   ;; The keybinding for term-char-mode is needed by the menubar code.
   (define-key term-raw-escape-map "\C-k" 'term-char-mode)