Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
d3e9f3a8
Commit
d3e9f3a8
authored
Mar 10, 2013
by
Stefan Monnier
Browse files
* lisp/term/xterm.el (xterm-function-map): Support format used with
formatOtherKeys=1. Fixes: debbugs:13839
parent
17f32327
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
123 additions
and
114 deletions
+123
-114
etc/NEWS
etc/NEWS
+2
-0
lisp/ChangeLog
lisp/ChangeLog
+3
-0
lisp/term/xterm.el
lisp/term/xterm.el
+118
-114
No files found.
etc/NEWS
View file @
d3e9f3a8
...
...
@@ -264,6 +264,8 @@ file using `set-file-extended-attributes'.
*
Lisp Changes in Emacs 24.4
** `dont-compile' is declared obsolete.
** Support for filesystem notifications.
Emacs now supports notifications of filesystem changes, such as
creation, modification, and deletion of files. This requires the
...
...
lisp/ChangeLog
View file @
d3e9f3a8
2013-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
* term/xterm.el (xterm-function-map): Support format used with
formatOtherKeys=1 (bug#13839).
* emacs-lisp/byte-run.el (dont-compile): Declare obsolete.
(with-no-warnings): Use `declare'.
...
...
lisp/term/xterm.el
View file @
d3e9f3a8
...
...
@@ -251,120 +251,124 @@ The relevant features are:
;; These keys are available in xterm starting from version 216
;; if the modifyOtherKeys resource is set to 1.
(
define-key
map
"\e[27;5;9~"
[C-tab]
)
(
define-key
map
"\e[27;5;13~"
[C-return]
)
(
define-key
map
"\e[27;5;39~"
[?\C-\']
)
(
define-key
map
"\e[27;5;44~"
[?\C-,]
)
(
define-key
map
"\e[27;5;45~"
[?\C--]
)
(
define-key
map
"\e[27;5;46~"
[?\C-.]
)
(
define-key
map
"\e[27;5;47~"
[?\C-/]
)
(
define-key
map
"\e[27;5;48~"
[?\C-0]
)
(
define-key
map
"\e[27;5;49~"
[?\C-1]
)
;; Not all C-DIGIT keys have a distinct binding.
(
define-key
map
"\e[27;5;57~"
[?\C-9]
)
(
define-key
map
"\e[27;5;59~"
[?\C-\;]
)
(
define-key
map
"\e[27;5;61~"
[?\C-=]
)
(
define-key
map
"\e[27;5;92~"
[?\C-\\]
)
(
define-key
map
"\e[27;6;33~"
[?\C-!]
)
(
define-key
map
"\e[27;6;34~"
[?\C-\"]
)
(
define-key
map
"\e[27;6;35~"
[?\C-#]
)
(
define-key
map
"\e[27;6;36~"
[?\C-$]
)
(
define-key
map
"\e[27;6;37~"
[?\C-%]
)
(
define-key
map
"\e[27;6;38~"
[?\C-&]
)
(
define-key
map
"\e[27;6;40~"
[?\C-
(
]
)
(
define-key
map
"\e[27;6;41~"
[?\C-
)
]
)
(
define-key
map
"\e[27;6;42~"
[?\C-*]
)
(
define-key
map
"\e[27;6;43~"
[?\C-+]
)
(
define-key
map
"\e[27;6;58~"
[?\C-:]
)
(
define-key
map
"\e[27;6;60~"
[?\C-<]
)
(
define-key
map
"\e[27;6;62~"
[?\C->]
)
(
define-key
map
"\e[27;6;63~"
[
(
control
??
)
]
)
;; These are the strings emitted for various C-M- combinations
;; for keyboards that the Meta and Alt modifiers are on the same
;; key (usually labeled "Alt").
(
define-key
map
"\e[27;13;9~"
[C-M-tab]
)
(
define-key
map
"\e[27;13;13~"
[C-M-return]
)
(
define-key
map
"\e[27;13;39~"
[?\C-\M-\']
)
(
define-key
map
"\e[27;13;44~"
[?\C-\M-,]
)
(
define-key
map
"\e[27;13;45~"
[?\C-\M--]
)
(
define-key
map
"\e[27;13;46~"
[?\C-\M-.]
)
(
define-key
map
"\e[27;13;47~"
[?\C-\M-/]
)
(
define-key
map
"\e[27;13;48~"
[?\C-\M-0]
)
(
define-key
map
"\e[27;13;49~"
[?\C-\M-1]
)
(
define-key
map
"\e[27;13;50~"
[?\C-\M-2]
)
(
define-key
map
"\e[27;13;51~"
[?\C-\M-3]
)
(
define-key
map
"\e[27;13;52~"
[?\C-\M-4]
)
(
define-key
map
"\e[27;13;53~"
[?\C-\M-5]
)
(
define-key
map
"\e[27;13;54~"
[?\C-\M-6]
)
(
define-key
map
"\e[27;13;55~"
[?\C-\M-7]
)
(
define-key
map
"\e[27;13;56~"
[?\C-\M-8]
)
(
define-key
map
"\e[27;13;57~"
[?\C-\M-9]
)
(
define-key
map
"\e[27;13;59~"
[?\C-\M-\;]
)
(
define-key
map
"\e[27;13;61~"
[?\C-\M-=]
)
(
define-key
map
"\e[27;13;92~"
[?\C-\M-\\]
)
(
define-key
map
"\e[27;14;33~"
[?\C-\M-!]
)
(
define-key
map
"\e[27;14;34~"
[?\C-\M-\"]
)
(
define-key
map
"\e[27;14;35~"
[?\C-\M-#]
)
(
define-key
map
"\e[27;14;36~"
[?\C-\M-$]
)
(
define-key
map
"\e[27;14;37~"
[?\C-\M-%]
)
(
define-key
map
"\e[27;14;38~"
[?\C-\M-&]
)
(
define-key
map
"\e[27;14;40~"
[?\C-\M-\(]
)
(
define-key
map
"\e[27;14;41~"
[?\C-\M-\)]
)
(
define-key
map
"\e[27;14;42~"
[?\C-\M-*]
)
(
define-key
map
"\e[27;14;43~"
[?\C-\M-+]
)
(
define-key
map
"\e[27;14;58~"
[?\C-\M-:]
)
(
define-key
map
"\e[27;14;60~"
[?\C-\M-<]
)
(
define-key
map
"\e[27;14;62~"
[?\C-\M->]
)
(
define-key
map
"\e[27;14;63~"
[
(
control
meta
??
)
]
)
(
define-key
map
"\e[27;7;9~"
[C-M-tab]
)
(
define-key
map
"\e[27;7;13~"
[C-M-return]
)
(
define-key
map
"\e[27;7;32~"
[?\C-\M-\s]
)
(
define-key
map
"\e[27;7;39~"
[?\C-\M-\']
)
(
define-key
map
"\e[27;7;44~"
[?\C-\M-,]
)
(
define-key
map
"\e[27;7;45~"
[?\C-\M--]
)
(
define-key
map
"\e[27;7;46~"
[?\C-\M-.]
)
(
define-key
map
"\e[27;7;47~"
[?\C-\M-/]
)
(
define-key
map
"\e[27;7;48~"
[?\C-\M-0]
)
(
define-key
map
"\e[27;7;49~"
[?\C-\M-1]
)
(
define-key
map
"\e[27;7;50~"
[?\C-\M-2]
)
(
define-key
map
"\e[27;7;51~"
[?\C-\M-3]
)
(
define-key
map
"\e[27;7;52~"
[?\C-\M-4]
)
(
define-key
map
"\e[27;7;53~"
[?\C-\M-5]
)
(
define-key
map
"\e[27;7;54~"
[?\C-\M-6]
)
(
define-key
map
"\e[27;7;55~"
[?\C-\M-7]
)
(
define-key
map
"\e[27;7;56~"
[?\C-\M-8]
)
(
define-key
map
"\e[27;7;57~"
[?\C-\M-9]
)
(
define-key
map
"\e[27;7;59~"
[?\C-\M-\;]
)
(
define-key
map
"\e[27;7;61~"
[?\C-\M-=]
)
(
define-key
map
"\e[27;7;92~"
[?\C-\M-\\]
)
(
define-key
map
"\e[27;8;33~"
[?\C-\M-!]
)
(
define-key
map
"\e[27;8;34~"
[?\C-\M-\"]
)
(
define-key
map
"\e[27;8;35~"
[?\C-\M-#]
)
(
define-key
map
"\e[27;8;36~"
[?\C-\M-$]
)
(
define-key
map
"\e[27;8;37~"
[?\C-\M-%]
)
(
define-key
map
"\e[27;8;38~"
[?\C-\M-&]
)
(
define-key
map
"\e[27;8;40~"
[?\C-\M-\(]
)
(
define-key
map
"\e[27;8;41~"
[?\C-\M-\)]
)
(
define-key
map
"\e[27;8;42~"
[?\C-\M-*]
)
(
define-key
map
"\e[27;8;43~"
[?\C-\M-+]
)
(
define-key
map
"\e[27;8;58~"
[?\C-\M-:]
)
(
define-key
map
"\e[27;8;60~"
[?\C-\M-<]
)
(
define-key
map
"\e[27;8;62~"
[?\C-\M->]
)
(
define-key
map
"\e[27;8;63~"
[
(
control
meta
??
)
]
)
(
define-key
map
"\e[27;2;9~"
[S-tab]
)
(
define-key
map
"\e[27;2;13~"
[S-return]
)
(
define-key
map
"\e[27;6;9~"
[C-S-tab]
)
(
define-key
map
"\e[27;6;13~"
[C-S-return]
)
(
dolist
(
bind
'
((
5
9
[C-tab]
)
(
5
13
[C-return]
)
(
5
39
[?\C-\']
)
(
5
44
[?\C-,]
)
(
5
45
[?\C--]
)
(
5
46
[?\C-.]
)
(
5
47
[?\C-/]
)
(
5
48
[?\C-0]
)
(
5
49
[?\C-1]
)
;; Not all C-DIGIT keys have a distinct binding.
(
5
57
[?\C-9]
)
(
5
59
[?\C-\;]
)
(
5
61
[?\C-=]
)
(
5
92
[?\C-\\]
)
(
6
33
[?\C-!]
)
(
6
34
[?\C-\"]
)
(
6
35
[?\C-#]
)
(
6
36
[?\C-$]
)
(
6
37
[?\C-%]
)
(
6
38
[?\C-&]
)
(
6
40
[?\C-\(]
)
(
6
41
[?\C-\)]
)
(
6
42
[?\C-*]
)
(
6
43
[?\C-+]
)
(
6
58
[?\C-:]
)
(
6
60
[?\C-<]
)
(
6
62
[?\C->]
)
(
6
63
[
(
control
??
)
]
)
;; These are the strings emitted for various C-M-
;; combinations for keyboards whose Meta and Alt
;; modifiers are on the same key (usually labeled "Alt").
(
13
9
[C-M-tab]
)
(
13
13
[C-M-return]
)
(
13
39
[?\C-\M-\']
)
(
13
44
[?\C-\M-,]
)
(
13
45
[?\C-\M--]
)
(
13
46
[?\C-\M-.]
)
(
13
47
[?\C-\M-/]
)
(
13
48
[?\C-\M-0]
)
(
13
49
[?\C-\M-1]
)
(
13
50
[?\C-\M-2]
)
(
13
51
[?\C-\M-3]
)
(
13
52
[?\C-\M-4]
)
(
13
53
[?\C-\M-5]
)
(
13
54
[?\C-\M-6]
)
(
13
55
[?\C-\M-7]
)
(
13
56
[?\C-\M-8]
)
(
13
57
[?\C-\M-9]
)
(
13
59
[?\C-\M-\;]
)
(
13
61
[?\C-\M-=]
)
(
13
92
[?\C-\M-\\]
)
(
14
33
[?\C-\M-!]
)
(
14
34
[?\C-\M-\"]
)
(
14
35
[?\C-\M-#]
)
(
14
36
[?\C-\M-$]
)
(
14
37
[?\C-\M-%]
)
(
14
38
[?\C-\M-&]
)
(
14
40
[?\C-\M-\(]
)
(
14
41
[?\C-\M-\)]
)
(
14
42
[?\C-\M-*]
)
(
14
43
[?\C-\M-+]
)
(
14
58
[?\C-\M-:]
)
(
14
60
[?\C-\M-<]
)
(
14
62
[?\C-\M->]
)
(
14
63
[
(
control
meta
??
)
]
)
(
7
9
[C-M-tab]
)
(
7
13
[C-M-return]
)
(
7
32
[?\C-\M-\s]
)
(
7
39
[?\C-\M-\']
)
(
7
44
[?\C-\M-,]
)
(
7
45
[?\C-\M--]
)
(
7
46
[?\C-\M-.]
)
(
7
47
[?\C-\M-/]
)
(
7
48
[?\C-\M-0]
)
(
7
49
[?\C-\M-1]
)
(
7
50
[?\C-\M-2]
)
(
7
51
[?\C-\M-3]
)
(
7
52
[?\C-\M-4]
)
(
7
53
[?\C-\M-5]
)
(
7
54
[?\C-\M-6]
)
(
7
55
[?\C-\M-7]
)
(
7
56
[?\C-\M-8]
)
(
7
57
[?\C-\M-9]
)
(
7
59
[?\C-\M-\;]
)
(
7
61
[?\C-\M-=]
)
(
7
92
[?\C-\M-\\]
)
(
8
33
[?\C-\M-!]
)
(
8
34
[?\C-\M-\"]
)
(
8
35
[?\C-\M-#]
)
(
8
36
[?\C-\M-$]
)
(
8
37
[?\C-\M-%]
)
(
8
38
[?\C-\M-&]
)
(
8
40
[?\C-\M-\(]
)
(
8
41
[?\C-\M-\)]
)
(
8
42
[?\C-\M-*]
)
(
8
43
[?\C-\M-+]
)
(
8
58
[?\C-\M-:]
)
(
8
60
[?\C-\M-<]
)
(
8
62
[?\C-\M->]
)
(
8
63
[
(
control
meta
??
)
]
)
(
2
9
[S-tab]
)
(
2
13
[S-return]
)
(
6
9
[C-S-tab]
)
(
6
13
[C-S-return]
)))
(
define-key
map
(
format
"\e[27;%d;%d~"
(
nth
0
bind
)
(
nth
1
bind
))
(
nth
2
bind
))
;; For formatOtherKeys=1, the sequence is a bit shorter (bug#13839).
(
define-key
map
(
format
"\e[%d;%du"
(
nth
1
bind
)
(
nth
0
bind
))
(
nth
2
bind
)))
;; Other versions of xterm might emit these.
(
define-key
map
"\e[A"
[up]
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment