bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#20444: paste error in emacs -nw


From: Stefan Monnier
Subject: bug#20444: paste error in emacs -nw
Date: Wed, 06 May 2015 17:05:54 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)

>> (add-hook (quote terminal-init-xterm-hook)
>> (lambda ()
>> (message "t-i-x-h: %S"
>> (lookup-key input-decode-map
>> "\e[200~"))))
>> 
>> (advice-add (quote xterm-register-default-colors)
>> :before
>> (lambda (&rest _)
>> (message "x-r-d-c: %S"
>> (lookup-key input-decode-map
>> "\e[200~"))))

> x-r-d-c: 5
> t-i-x-h: 5

Hmm...

OK, next step:

(advice-add (quote xterm-register-default-colors) :before
            (lambda (&rest _)
              (message "x-r-d-c-1: %S"
                       (lookup-key xterm-function-map
                                   "\e[200~"))
              (message "x-r-d-c-2: %S"
                       (lookup-key (copy-keymap xterm-function-map)
                                   "\e[200~"))
              (message "x-r-d-c-3: %S"
                       (lookup-key (keymap-parent input-decode-map)
                                   "\e[200~"))
              (message "x-r-d-c-4: %S"
                       (lookup-key (let ((map (copy-keymap xterm-function-map)))
                                     (set-keymap-parent map (keymap-parent 
input-decode-map))
                                     map)
                                   "\e[200~"))
            ))

-- Stefan

PS: While you're at it, could you try the patch below, which shouldn't
make any difference to your problem, but would be good anyway.


diff --git a/lisp/term/xterm.el b/lisp/term/xterm.el
index 79699c6..ec8b1ef 100644
--- a/lisp/term/xterm.el
+++ b/lisp/term/xterm.el
@@ -696,17 +696,16 @@ We run the first FUNCTION whose STRING matches the input 
events."
           (string-match "\\`rxvt" (getenv "COLORTERM" (selected-frame))))
       (tty-run-terminal-initialization (selected-frame) "rxvt")
 
-    (let ((map (copy-keymap xterm-alternatives-map)))
-      (set-keymap-parent map (keymap-parent local-function-key-map))
-      (set-keymap-parent local-function-key-map map))
-
-    (let ((map (copy-keymap xterm-function-map)))
-
-      ;; Use inheritance to let the main keymap override those defaults.
-      ;; This way we don't override terminfo-derived settings or settings
-      ;; made in the init file.
-      (set-keymap-parent map (keymap-parent input-decode-map))
-      (set-keymap-parent input-decode-map map)))
+    (let ((push-map
+           ;; Use inheritance to let the main keymaps override those defaults.
+           ;; This way we don't override terminfo-derived settings or settings
+           ;; made in the init file.
+           (lambda (map basemap)
+             (set-keymap-parent
+              basemap
+              (make-composed-keymap map (keymap-parent basemap))))))
+      (funcall push-map xterm-alternatives-map local-function-key-map)
+      (funcall push-map xterm-function-map     input-decode-map)))
 
   (xterm-register-default-colors)
   (tty-set-up-initial-frame-faces)





reply via email to

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