emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r108194: * lisp/term.el (term-set-esc


From: Stefan Monnier
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r108194: * lisp/term.el (term-set-escape-char): Properly set term-escape-char.
Date: Fri, 11 May 2012 09:13:09 -0400
User-agent: Bazaar (2.3.1)

------------------------------------------------------------
revno: 108194
fixes bug(s): http://stackoverflow.com/questions/10524656
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Fri 2012-05-11 09:13:09 -0400
message:
  * lisp/term.el (term-set-escape-char): Properly set term-escape-char.
modified:
  lisp/ChangeLog
  lisp/term.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2012-05-10 06:27:12 +0000
+++ b/lisp/ChangeLog    2012-05-11 13:13:09 +0000
@@ -1,3 +1,8 @@
+2012-05-11  Stefan Monnier  <address@hidden>
+
+       * term.el (term-set-escape-char): Properly set term-escape-char.
+       See http://stackoverflow.com/questions/10524656.
+
 2012-05-10  Chong Yidong  <address@hidden>
 
        * ffap.el (ffap-url-unwrap-local): Make it work right (Bug#9131).

=== modified file 'lisp/term.el'
--- a/lisp/term.el      2012-01-26 02:32:56 +0000
+++ b/lisp/term.el      2012-05-11 13:13:09 +0000
@@ -876,18 +876,21 @@
 
 ;; 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)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]