diff options
| author | Stefan Monnier | 2007-09-07 19:47:46 +0000 |
|---|---|---|
| committer | Stefan Monnier | 2007-09-07 19:47:46 +0000 |
| commit | 0ba6bcb1d6efc81711f1c6c5ece5614f68b2b6b3 (patch) | |
| tree | 137aa3b209babf7d14041c9b559e601438dd4acb | |
| parent | ba76db87effcfb4786788b07b9f4afc170ed3c11 (diff) | |
| download | emacs-0ba6bcb1d6efc81711f1c6c5ece5614f68b2b6b3.tar.gz emacs-0ba6bcb1d6efc81711f1c6c5ece5614f68b2b6b3.zip | |
(xterm-function-map): Initialize in the declaration.
| -rw-r--r-- | lisp/term/xterm.el | 611 |
1 files changed, 306 insertions, 305 deletions
diff --git a/lisp/term/xterm.el b/lisp/term/xterm.el index 5b4bd05c542..da105d4c00b 100644 --- a/lisp/term/xterm.el +++ b/lisp/term/xterm.el | |||
| @@ -27,301 +27,303 @@ | |||
| 27 | 27 | ||
| 28 | ;;; Code: | 28 | ;;; Code: |
| 29 | 29 | ||
| 30 | (defvar xterm-function-map (make-sparse-keymap) | 30 | (defvar xterm-function-map |
| 31 | (let ((map (make-sparse-keymap))) | ||
| 32 | |||
| 33 | ;; xterm from X.org 6.8.2 uses these key definitions. | ||
| 34 | (define-key map "\eOP" [f1]) | ||
| 35 | (define-key map "\eOQ" [f2]) | ||
| 36 | (define-key map "\eOR" [f3]) | ||
| 37 | (define-key map "\eOS" [f4]) | ||
| 38 | (define-key map "\e[15~" [f5]) | ||
| 39 | (define-key map "\e[17~" [f6]) | ||
| 40 | (define-key map "\e[18~" [f7]) | ||
| 41 | (define-key map "\e[19~" [f8]) | ||
| 42 | (define-key map "\e[20~" [f9]) | ||
| 43 | (define-key map "\e[21~" [f10]) | ||
| 44 | (define-key map "\e[23~" [f11]) | ||
| 45 | (define-key map "\e[24~" [f12]) | ||
| 46 | |||
| 47 | (define-key map "\eO2P" [S-f1]) | ||
| 48 | (define-key map "\eO2Q" [S-f2]) | ||
| 49 | (define-key map "\eO2R" [S-f3]) | ||
| 50 | (define-key map "\eO2S" [S-f4]) | ||
| 51 | (define-key map "\e[1;2P" [S-f1]) | ||
| 52 | (define-key map "\e[1;2Q" [S-f2]) | ||
| 53 | (define-key map "\e[1;2R" [S-f3]) | ||
| 54 | (define-key map "\e[1;2S" [S-f4]) | ||
| 55 | (define-key map "\e[15;2~" [S-f5]) | ||
| 56 | (define-key map "\e[17;2~" [S-f6]) | ||
| 57 | (define-key map "\e[18;2~" [S-f7]) | ||
| 58 | (define-key map "\e[19;2~" [S-f8]) | ||
| 59 | (define-key map "\e[20;2~" [S-f9]) | ||
| 60 | (define-key map "\e[21;2~" [S-f10]) | ||
| 61 | (define-key map "\e[23;2~" [S-f11]) | ||
| 62 | (define-key map "\e[24;2~" [S-f12]) | ||
| 63 | |||
| 64 | (define-key map "\eO5P" [C-f1]) | ||
| 65 | (define-key map "\eO5Q" [C-f2]) | ||
| 66 | (define-key map "\eO5R" [C-f3]) | ||
| 67 | (define-key map "\eO5S" [C-f4]) | ||
| 68 | (define-key map "\e[15;5~" [C-f5]) | ||
| 69 | (define-key map "\e[17;5~" [C-f6]) | ||
| 70 | (define-key map "\e[18;5~" [C-f7]) | ||
| 71 | (define-key map "\e[19;5~" [C-f8]) | ||
| 72 | (define-key map "\e[20;5~" [C-f9]) | ||
| 73 | (define-key map "\e[21;5~" [C-f10]) | ||
| 74 | (define-key map "\e[23;5~" [C-f11]) | ||
| 75 | (define-key map "\e[24;5~" [C-f12]) | ||
| 76 | |||
| 77 | (define-key map "\eO6P" [C-S-f1]) | ||
| 78 | (define-key map "\eO6Q" [C-S-f2]) | ||
| 79 | (define-key map "\eO6R" [C-S-f3]) | ||
| 80 | (define-key map "\eO6S" [C-S-f4]) | ||
| 81 | (define-key map "\e[15;6~" [C-S-f5]) | ||
| 82 | (define-key map "\e[17;6~" [C-S-f6]) | ||
| 83 | (define-key map "\e[18;6~" [C-S-f7]) | ||
| 84 | (define-key map "\e[19;6~" [C-S-f8]) | ||
| 85 | (define-key map "\e[20;6~" [C-S-f9]) | ||
| 86 | (define-key map "\e[21;6~" [C-S-f10]) | ||
| 87 | (define-key map "\e[23;6~" [C-S-f11]) | ||
| 88 | (define-key map "\e[24;6~" [C-S-f12]) | ||
| 89 | |||
| 90 | (define-key map "\eO3P" [A-f1]) | ||
| 91 | (define-key map "\eO3Q" [A-f2]) | ||
| 92 | (define-key map "\eO3R" [A-f3]) | ||
| 93 | (define-key map "\eO3S" [A-f4]) | ||
| 94 | (define-key map "\e[15;3~" [A-f5]) | ||
| 95 | (define-key map "\e[17;3~" [A-f6]) | ||
| 96 | (define-key map "\e[18;3~" [A-f7]) | ||
| 97 | (define-key map "\e[19;3~" [A-f8]) | ||
| 98 | (define-key map "\e[20;3~" [A-f9]) | ||
| 99 | (define-key map "\e[21;3~" [A-f10]) | ||
| 100 | (define-key map "\e[23;3~" [A-f11]) | ||
| 101 | (define-key map "\e[24;3~" [A-f12]) | ||
| 102 | |||
| 103 | (define-key map "\eOA" [up]) | ||
| 104 | (define-key map "\eOB" [down]) | ||
| 105 | (define-key map "\eOC" [right]) | ||
| 106 | (define-key map "\eOD" [left]) | ||
| 107 | (define-key map "\eOF" [end]) | ||
| 108 | (define-key map "\eOH" [home]) | ||
| 109 | |||
| 110 | (define-key map "\e[1;2A" [S-up]) | ||
| 111 | (define-key map "\e[1;2B" [S-down]) | ||
| 112 | (define-key map "\e[1;2C" [S-right]) | ||
| 113 | (define-key map "\e[1;2D" [S-left]) | ||
| 114 | (define-key map "\e[1;2F" [S-end]) | ||
| 115 | (define-key map "\e[1;2H" [S-home]) | ||
| 116 | |||
| 117 | (define-key map "\e[1;5A" [C-up]) | ||
| 118 | (define-key map "\e[1;5B" [C-down]) | ||
| 119 | (define-key map "\e[1;5C" [C-right]) | ||
| 120 | (define-key map "\e[1;5D" [C-left]) | ||
| 121 | (define-key map "\e[1;5F" [C-end]) | ||
| 122 | (define-key map "\e[1;5H" [C-home]) | ||
| 123 | |||
| 124 | (define-key map "\e[1;6A" [C-S-up]) | ||
| 125 | (define-key map "\e[1;6B" [C-S-down]) | ||
| 126 | (define-key map "\e[1;6C" [C-S-right]) | ||
| 127 | (define-key map "\e[1;6D" [C-S-left]) | ||
| 128 | (define-key map "\e[1;6F" [C-S-end]) | ||
| 129 | (define-key map "\e[1;6H" [C-S-home]) | ||
| 130 | |||
| 131 | (define-key map "\e[1;3A" [A-up]) | ||
| 132 | (define-key map "\e[1;3B" [A-down]) | ||
| 133 | (define-key map "\e[1;3C" [A-right]) | ||
| 134 | (define-key map "\e[1;3D" [A-left]) | ||
| 135 | (define-key map "\e[1;3F" [A-end]) | ||
| 136 | (define-key map "\e[1;3H" [A-home]) | ||
| 137 | |||
| 138 | (define-key map "\e[2~" [insert]) | ||
| 139 | (define-key map "\e[3~" [delete]) | ||
| 140 | (define-key map "\e[5~" [prior]) | ||
| 141 | (define-key map "\e[6~" [next]) | ||
| 142 | |||
| 143 | (define-key map "\e[2;2~" [S-insert]) | ||
| 144 | (define-key map "\e[3;2~" [S-delete]) | ||
| 145 | (define-key map "\e[5;2~" [S-prior]) | ||
| 146 | (define-key map "\e[6;2~" [S-next]) | ||
| 147 | |||
| 148 | (define-key map "\e[2;5~" [C-insert]) | ||
| 149 | (define-key map "\e[3;5~" [C-delete]) | ||
| 150 | (define-key map "\e[5;5~" [C-prior]) | ||
| 151 | (define-key map "\e[6;5~" [C-next]) | ||
| 152 | |||
| 153 | (define-key map "\e[2;6~" [C-S-insert]) | ||
| 154 | (define-key map "\e[3;6~" [C-S-delete]) | ||
| 155 | (define-key map "\e[5;6~" [C-S-prior]) | ||
| 156 | (define-key map "\e[6;6~" [C-S-next]) | ||
| 157 | |||
| 158 | (define-key map "\e[2;3~" [A-insert]) | ||
| 159 | (define-key map "\e[3;3~" [A-delete]) | ||
| 160 | (define-key map "\e[5;3~" [A-prior]) | ||
| 161 | (define-key map "\e[6;3~" [A-next]) | ||
| 162 | |||
| 163 | (define-key map "\e[4~" [select]) | ||
| 164 | (define-key map "\e[29~" [print]) | ||
| 165 | |||
| 166 | (define-key map "\eOj" [kp-multiply]) | ||
| 167 | (define-key map "\eOk" [kp-add]) | ||
| 168 | (define-key map "\eOl" [kp-separator]) | ||
| 169 | (define-key map "\eOm" [kp-subtract]) | ||
| 170 | (define-key map "\eOo" [kp-divide]) | ||
| 171 | (define-key map "\eOp" [kp-0]) | ||
| 172 | (define-key map "\eOq" [kp-1]) | ||
| 173 | (define-key map "\eOr" [kp-2]) | ||
| 174 | (define-key map "\eOs" [kp-3]) | ||
| 175 | (define-key map "\eOt" [kp-4]) | ||
| 176 | (define-key map "\eOu" [kp-5]) | ||
| 177 | (define-key map "\eOv" [kp-6]) | ||
| 178 | (define-key map "\eOw" [kp-7]) | ||
| 179 | (define-key map "\eOx" [kp-8]) | ||
| 180 | (define-key map "\eOy" [kp-9]) | ||
| 181 | |||
| 182 | ;; These keys are available in xterm starting from version 216 | ||
| 183 | ;; if the modifyOtherKeys resource is set to 1. | ||
| 184 | |||
| 185 | (define-key map "\e[27;5;9~" [C-tab]) | ||
| 186 | (define-key map "\e[27;5;13~" [C-return]) | ||
| 187 | (define-key map "\e[27;5;39~" [?\C-\']) | ||
| 188 | (define-key map "\e[27;5;44~" [?\C-,]) | ||
| 189 | (define-key map "\e[27;5;45~" [?\C--]) | ||
| 190 | (define-key map "\e[27;5;46~" [?\C-.]) | ||
| 191 | (define-key map "\e[27;5;47~" [?\C-/]) | ||
| 192 | (define-key map "\e[27;5;48~" [?\C-0]) | ||
| 193 | (define-key map "\e[27;5;49~" [?\C-1]) | ||
| 194 | ;; Not all C-DIGIT keys have a distinct binding. | ||
| 195 | (define-key map "\e[27;5;57~" [?\C-9]) | ||
| 196 | (define-key map "\e[27;5;59~" [?\C-\;]) | ||
| 197 | (define-key map "\e[27;5;61~" [?\C-=]) | ||
| 198 | (define-key map "\e[27;5;92~" [?\C-\\]) | ||
| 199 | |||
| 200 | (define-key map "\e[27;6;33~" [?\C-!]) | ||
| 201 | (define-key map "\e[27;6;34~" [?\C-\"]) | ||
| 202 | (define-key map "\e[27;6;35~" [?\C-#]) | ||
| 203 | (define-key map "\e[27;6;36~" [?\C-$]) | ||
| 204 | (define-key map "\e[27;6;37~" [?\C-%]) | ||
| 205 | (define-key map "\e[27;6;38~" [?\C-&]) | ||
| 206 | (define-key map "\e[27;6;40~" [?\C-(]) | ||
| 207 | (define-key map "\e[27;6;41~" [?\C-)]) | ||
| 208 | (define-key map "\e[27;6;42~" [?\C-*]) | ||
| 209 | (define-key map "\e[27;6;43~" [?\C-+]) | ||
| 210 | (define-key map "\e[27;6;58~" [?\C-:]) | ||
| 211 | (define-key map "\e[27;6;60~" [?\C-<]) | ||
| 212 | (define-key map "\e[27;6;62~" [?\C->]) | ||
| 213 | (define-key map "\e[27;6;63~" [(control ??)]) | ||
| 214 | |||
| 215 | ;; These are the strings emitted for various C-M- combinations | ||
| 216 | ;; for keyboards that the Meta and Alt modifiers are on the same | ||
| 217 | ;; key (usually labeled "Alt"). | ||
| 218 | (define-key map "\e[27;13;9~" [C-M-tab]) | ||
| 219 | (define-key map "\e[27;13;13~" [C-M-return]) | ||
| 220 | |||
| 221 | (define-key map "\e[27;13;39~" [?\C-\M-\']) | ||
| 222 | (define-key map "\e[27;13;44~" [?\C-\M-,]) | ||
| 223 | (define-key map "\e[27;13;45~" [?\C-\M--]) | ||
| 224 | (define-key map "\e[27;13;46~" [?\C-\M-.]) | ||
| 225 | (define-key map "\e[27;13;47~" [?\C-\M-/]) | ||
| 226 | (define-key map "\e[27;13;48~" [?\C-\M-0]) | ||
| 227 | (define-key map "\e[27;13;49~" [?\C-\M-1]) | ||
| 228 | (define-key map "\e[27;13;50~" [?\C-\M-2]) | ||
| 229 | (define-key map "\e[27;13;51~" [?\C-\M-3]) | ||
| 230 | (define-key map "\e[27;13;52~" [?\C-\M-4]) | ||
| 231 | (define-key map "\e[27;13;53~" [?\C-\M-5]) | ||
| 232 | (define-key map "\e[27;13;54~" [?\C-\M-6]) | ||
| 233 | (define-key map "\e[27;13;55~" [?\C-\M-7]) | ||
| 234 | (define-key map "\e[27;13;56~" [?\C-\M-8]) | ||
| 235 | (define-key map "\e[27;13;57~" [?\C-\M-9]) | ||
| 236 | (define-key map "\e[27;13;59~" [?\C-\M-\;]) | ||
| 237 | (define-key map "\e[27;13;61~" [?\C-\M-=]) | ||
| 238 | (define-key map "\e[27;13;92~" [?\C-\M-\\]) | ||
| 239 | |||
| 240 | (define-key map "\e[27;14;33~" [?\C-\M-!]) | ||
| 241 | (define-key map "\e[27;14;34~" [?\C-\M-\"]) | ||
| 242 | (define-key map "\e[27;14;35~" [?\C-\M-#]) | ||
| 243 | (define-key map "\e[27;14;36~" [?\C-\M-$]) | ||
| 244 | (define-key map "\e[27;14;37~" [?\C-\M-%]) | ||
| 245 | (define-key map "\e[27;14;38~" [?\C-\M-&]) | ||
| 246 | (define-key map "\e[27;14;40~" [?\C-\M-\(]) | ||
| 247 | (define-key map "\e[27;14;41~" [?\C-\M-\)]) | ||
| 248 | (define-key map "\e[27;14;42~" [?\C-\M-*]) | ||
| 249 | (define-key map "\e[27;14;43~" [?\C-\M-+]) | ||
| 250 | (define-key map "\e[27;14;58~" [?\C-\M-:]) | ||
| 251 | (define-key map "\e[27;14;60~" [?\C-\M-<]) | ||
| 252 | (define-key map "\e[27;14;62~" [?\C-\M->]) | ||
| 253 | (define-key map "\e[27;14;63~" [(control meta ??)]) | ||
| 254 | |||
| 255 | (define-key map "\e[27;7;9~" [C-M-tab]) | ||
| 256 | (define-key map "\e[27;7;13~" [C-M-return]) | ||
| 257 | |||
| 258 | (define-key map "\e[27;7;32~" [?\C-\M-\s]) | ||
| 259 | (define-key map "\e[27;7;39~" [?\C-\M-\']) | ||
| 260 | (define-key map "\e[27;7;44~" [?\C-\M-,]) | ||
| 261 | (define-key map "\e[27;7;45~" [?\C-\M--]) | ||
| 262 | (define-key map "\e[27;7;46~" [?\C-\M-.]) | ||
| 263 | (define-key map "\e[27;7;47~" [?\C-\M-/]) | ||
| 264 | (define-key map "\e[27;7;48~" [?\C-\M-0]) | ||
| 265 | (define-key map "\e[27;7;49~" [?\C-\M-1]) | ||
| 266 | (define-key map "\e[27;7;50~" [?\C-\M-2]) | ||
| 267 | (define-key map "\e[27;7;51~" [?\C-\M-3]) | ||
| 268 | (define-key map "\e[27;7;52~" [?\C-\M-4]) | ||
| 269 | (define-key map "\e[27;7;53~" [?\C-\M-5]) | ||
| 270 | (define-key map "\e[27;7;54~" [?\C-\M-6]) | ||
| 271 | (define-key map "\e[27;7;55~" [?\C-\M-7]) | ||
| 272 | (define-key map "\e[27;7;56~" [?\C-\M-8]) | ||
| 273 | (define-key map "\e[27;7;57~" [?\C-\M-9]) | ||
| 274 | (define-key map "\e[27;7;59~" [?\C-\M-\;]) | ||
| 275 | (define-key map "\e[27;7;61~" [?\C-\M-=]) | ||
| 276 | (define-key map "\e[27;7;92~" [?\C-\M-\\]) | ||
| 277 | |||
| 278 | (define-key map "\e[27;8;33~" [?\C-\M-!]) | ||
| 279 | (define-key map "\e[27;8;34~" [?\C-\M-\"]) | ||
| 280 | (define-key map "\e[27;8;35~" [?\C-\M-#]) | ||
| 281 | (define-key map "\e[27;8;36~" [?\C-\M-$]) | ||
| 282 | (define-key map "\e[27;8;37~" [?\C-\M-%]) | ||
| 283 | (define-key map "\e[27;8;38~" [?\C-\M-&]) | ||
| 284 | (define-key map "\e[27;8;40~" [?\C-\M-\(]) | ||
| 285 | (define-key map "\e[27;8;41~" [?\C-\M-\)]) | ||
| 286 | (define-key map "\e[27;8;42~" [?\C-\M-*]) | ||
| 287 | (define-key map "\e[27;8;43~" [?\C-\M-+]) | ||
| 288 | (define-key map "\e[27;8;58~" [?\C-\M-:]) | ||
| 289 | (define-key map "\e[27;8;60~" [?\C-\M-<]) | ||
| 290 | (define-key map "\e[27;8;62~" [?\C-\M->]) | ||
| 291 | (define-key map "\e[27;8;63~" [(control meta ??)]) | ||
| 292 | |||
| 293 | (define-key map "\e[27;2;9~" [S-tab]) | ||
| 294 | (define-key map "\e[27;2;13~" [S-return]) | ||
| 295 | |||
| 296 | (define-key map "\e[27;6;9~" [C-S-tab]) | ||
| 297 | (define-key map "\e[27;6;13~" [C-S-return]) | ||
| 298 | |||
| 299 | ;; Other versions of xterm might emit these. | ||
| 300 | (define-key map "\e[A" [up]) | ||
| 301 | (define-key map "\e[B" [down]) | ||
| 302 | (define-key map "\e[C" [right]) | ||
| 303 | (define-key map "\e[D" [left]) | ||
| 304 | (define-key map "\e[1~" [home]) | ||
| 305 | |||
| 306 | (define-key map "\e[1;2A" [S-up]) | ||
| 307 | (define-key map "\e[1;2B" [S-down]) | ||
| 308 | (define-key map "\e[1;2C" [S-right]) | ||
| 309 | (define-key map "\e[1;2D" [S-left]) | ||
| 310 | (define-key map "\e[1;2F" [S-end]) | ||
| 311 | (define-key map "\e[1;2H" [S-home]) | ||
| 312 | |||
| 313 | (define-key map "\e[1;5A" [C-up]) | ||
| 314 | (define-key map "\e[1;5B" [C-down]) | ||
| 315 | (define-key map "\e[1;5C" [C-right]) | ||
| 316 | (define-key map "\e[1;5D" [C-left]) | ||
| 317 | (define-key map "\e[1;5F" [C-end]) | ||
| 318 | (define-key map "\e[1;5H" [C-home]) | ||
| 319 | |||
| 320 | (define-key map "\e[11~" [f1]) | ||
| 321 | (define-key map "\e[12~" [f2]) | ||
| 322 | (define-key map "\e[13~" [f3]) | ||
| 323 | (define-key map "\e[14~" [f4]) | ||
| 324 | map) | ||
| 31 | "Function key map overrides for xterm.") | 325 | "Function key map overrides for xterm.") |
| 32 | 326 | ||
| 33 | ;; xterm from X.org 6.8.2 uses these key definitions. | ||
| 34 | (define-key xterm-function-map "\eOP" [f1]) | ||
| 35 | (define-key xterm-function-map "\eOQ" [f2]) | ||
| 36 | (define-key xterm-function-map "\eOR" [f3]) | ||
| 37 | (define-key xterm-function-map "\eOS" [f4]) | ||
| 38 | (define-key xterm-function-map "\e[15~" [f5]) | ||
| 39 | (define-key xterm-function-map "\e[17~" [f6]) | ||
| 40 | (define-key xterm-function-map "\e[18~" [f7]) | ||
| 41 | (define-key xterm-function-map "\e[19~" [f8]) | ||
| 42 | (define-key xterm-function-map "\e[20~" [f9]) | ||
| 43 | (define-key xterm-function-map "\e[21~" [f10]) | ||
| 44 | (define-key xterm-function-map "\e[23~" [f11]) | ||
| 45 | (define-key xterm-function-map "\e[24~" [f12]) | ||
| 46 | |||
| 47 | (define-key xterm-function-map "\eO2P" [S-f1]) | ||
| 48 | (define-key xterm-function-map "\eO2Q" [S-f2]) | ||
| 49 | (define-key xterm-function-map "\eO2R" [S-f3]) | ||
| 50 | (define-key xterm-function-map "\eO2S" [S-f4]) | ||
| 51 | (define-key xterm-function-map "\e[1;2P" [S-f1]) | ||
| 52 | (define-key xterm-function-map "\e[1;2Q" [S-f2]) | ||
| 53 | (define-key xterm-function-map "\e[1;2R" [S-f3]) | ||
| 54 | (define-key xterm-function-map "\e[1;2S" [S-f4]) | ||
| 55 | (define-key xterm-function-map "\e[15;2~" [S-f5]) | ||
| 56 | (define-key xterm-function-map "\e[17;2~" [S-f6]) | ||
| 57 | (define-key xterm-function-map "\e[18;2~" [S-f7]) | ||
| 58 | (define-key xterm-function-map "\e[19;2~" [S-f8]) | ||
| 59 | (define-key xterm-function-map "\e[20;2~" [S-f9]) | ||
| 60 | (define-key xterm-function-map "\e[21;2~" [S-f10]) | ||
| 61 | (define-key xterm-function-map "\e[23;2~" [S-f11]) | ||
| 62 | (define-key xterm-function-map "\e[24;2~" [S-f12]) | ||
| 63 | |||
| 64 | (define-key xterm-function-map "\eO5P" [C-f1]) | ||
| 65 | (define-key xterm-function-map "\eO5Q" [C-f2]) | ||
| 66 | (define-key xterm-function-map "\eO5R" [C-f3]) | ||
| 67 | (define-key xterm-function-map "\eO5S" [C-f4]) | ||
| 68 | (define-key xterm-function-map "\e[15;5~" [C-f5]) | ||
| 69 | (define-key xterm-function-map "\e[17;5~" [C-f6]) | ||
| 70 | (define-key xterm-function-map "\e[18;5~" [C-f7]) | ||
| 71 | (define-key xterm-function-map "\e[19;5~" [C-f8]) | ||
| 72 | (define-key xterm-function-map "\e[20;5~" [C-f9]) | ||
| 73 | (define-key xterm-function-map "\e[21;5~" [C-f10]) | ||
| 74 | (define-key xterm-function-map "\e[23;5~" [C-f11]) | ||
| 75 | (define-key xterm-function-map "\e[24;5~" [C-f12]) | ||
| 76 | |||
| 77 | (define-key xterm-function-map "\eO6P" [C-S-f1]) | ||
| 78 | (define-key xterm-function-map "\eO6Q" [C-S-f2]) | ||
| 79 | (define-key xterm-function-map "\eO6R" [C-S-f3]) | ||
| 80 | (define-key xterm-function-map "\eO6S" [C-S-f4]) | ||
| 81 | (define-key xterm-function-map "\e[15;6~" [C-S-f5]) | ||
| 82 | (define-key xterm-function-map "\e[17;6~" [C-S-f6]) | ||
| 83 | (define-key xterm-function-map "\e[18;6~" [C-S-f7]) | ||
| 84 | (define-key xterm-function-map "\e[19;6~" [C-S-f8]) | ||
| 85 | (define-key xterm-function-map "\e[20;6~" [C-S-f9]) | ||
| 86 | (define-key xterm-function-map "\e[21;6~" [C-S-f10]) | ||
| 87 | (define-key xterm-function-map "\e[23;6~" [C-S-f11]) | ||
| 88 | (define-key xterm-function-map "\e[24;6~" [C-S-f12]) | ||
| 89 | |||
| 90 | (define-key xterm-function-map "\eO3P" [A-f1]) | ||
| 91 | (define-key xterm-function-map "\eO3Q" [A-f2]) | ||
| 92 | (define-key xterm-function-map "\eO3R" [A-f3]) | ||
| 93 | (define-key xterm-function-map "\eO3S" [A-f4]) | ||
| 94 | (define-key xterm-function-map "\e[15;3~" [A-f5]) | ||
| 95 | (define-key xterm-function-map "\e[17;3~" [A-f6]) | ||
| 96 | (define-key xterm-function-map "\e[18;3~" [A-f7]) | ||
| 97 | (define-key xterm-function-map "\e[19;3~" [A-f8]) | ||
| 98 | (define-key xterm-function-map "\e[20;3~" [A-f9]) | ||
| 99 | (define-key xterm-function-map "\e[21;3~" [A-f10]) | ||
| 100 | (define-key xterm-function-map "\e[23;3~" [A-f11]) | ||
| 101 | (define-key xterm-function-map "\e[24;3~" [A-f12]) | ||
| 102 | |||
| 103 | (define-key xterm-function-map "\eOA" [up]) | ||
| 104 | (define-key xterm-function-map "\eOB" [down]) | ||
| 105 | (define-key xterm-function-map "\eOC" [right]) | ||
| 106 | (define-key xterm-function-map "\eOD" [left]) | ||
| 107 | (define-key xterm-function-map "\eOF" [end]) | ||
| 108 | (define-key xterm-function-map "\eOH" [home]) | ||
| 109 | |||
| 110 | (define-key xterm-function-map "\e[1;2A" [S-up]) | ||
| 111 | (define-key xterm-function-map "\e[1;2B" [S-down]) | ||
| 112 | (define-key xterm-function-map "\e[1;2C" [S-right]) | ||
| 113 | (define-key xterm-function-map "\e[1;2D" [S-left]) | ||
| 114 | (define-key xterm-function-map "\e[1;2F" [S-end]) | ||
| 115 | (define-key xterm-function-map "\e[1;2H" [S-home]) | ||
| 116 | |||
| 117 | (define-key xterm-function-map "\e[1;5A" [C-up]) | ||
| 118 | (define-key xterm-function-map "\e[1;5B" [C-down]) | ||
| 119 | (define-key xterm-function-map "\e[1;5C" [C-right]) | ||
| 120 | (define-key xterm-function-map "\e[1;5D" [C-left]) | ||
| 121 | (define-key xterm-function-map "\e[1;5F" [C-end]) | ||
| 122 | (define-key xterm-function-map "\e[1;5H" [C-home]) | ||
| 123 | |||
| 124 | (define-key xterm-function-map "\e[1;6A" [C-S-up]) | ||
| 125 | (define-key xterm-function-map "\e[1;6B" [C-S-down]) | ||
| 126 | (define-key xterm-function-map "\e[1;6C" [C-S-right]) | ||
| 127 | (define-key xterm-function-map "\e[1;6D" [C-S-left]) | ||
| 128 | (define-key xterm-function-map "\e[1;6F" [C-S-end]) | ||
| 129 | (define-key xterm-function-map "\e[1;6H" [C-S-home]) | ||
| 130 | |||
| 131 | (define-key xterm-function-map "\e[1;3A" [A-up]) | ||
| 132 | (define-key xterm-function-map "\e[1;3B" [A-down]) | ||
| 133 | (define-key xterm-function-map "\e[1;3C" [A-right]) | ||
| 134 | (define-key xterm-function-map "\e[1;3D" [A-left]) | ||
| 135 | (define-key xterm-function-map "\e[1;3F" [A-end]) | ||
| 136 | (define-key xterm-function-map "\e[1;3H" [A-home]) | ||
| 137 | |||
| 138 | (define-key xterm-function-map "\e[2~" [insert]) | ||
| 139 | (define-key xterm-function-map "\e[3~" [delete]) | ||
| 140 | (define-key xterm-function-map "\e[5~" [prior]) | ||
| 141 | (define-key xterm-function-map "\e[6~" [next]) | ||
| 142 | |||
| 143 | (define-key xterm-function-map "\e[2;2~" [S-insert]) | ||
| 144 | (define-key xterm-function-map "\e[3;2~" [S-delete]) | ||
| 145 | (define-key xterm-function-map "\e[5;2~" [S-prior]) | ||
| 146 | (define-key xterm-function-map "\e[6;2~" [S-next]) | ||
| 147 | |||
| 148 | (define-key xterm-function-map "\e[2;5~" [C-insert]) | ||
| 149 | (define-key xterm-function-map "\e[3;5~" [C-delete]) | ||
| 150 | (define-key xterm-function-map "\e[5;5~" [C-prior]) | ||
| 151 | (define-key xterm-function-map "\e[6;5~" [C-next]) | ||
| 152 | |||
| 153 | (define-key xterm-function-map "\e[2;6~" [C-S-insert]) | ||
| 154 | (define-key xterm-function-map "\e[3;6~" [C-S-delete]) | ||
| 155 | (define-key xterm-function-map "\e[5;6~" [C-S-prior]) | ||
| 156 | (define-key xterm-function-map "\e[6;6~" [C-S-next]) | ||
| 157 | |||
| 158 | (define-key xterm-function-map "\e[2;3~" [A-insert]) | ||
| 159 | (define-key xterm-function-map "\e[3;3~" [A-delete]) | ||
| 160 | (define-key xterm-function-map "\e[5;3~" [A-prior]) | ||
| 161 | (define-key xterm-function-map "\e[6;3~" [A-next]) | ||
| 162 | |||
| 163 | (define-key xterm-function-map "\e[4~" [select]) | ||
| 164 | (define-key xterm-function-map "\e[29~" [print]) | ||
| 165 | |||
| 166 | (define-key xterm-function-map "\eOj" [kp-multiply]) | ||
| 167 | (define-key xterm-function-map "\eOk" [kp-add]) | ||
| 168 | (define-key xterm-function-map "\eOl" [kp-separator]) | ||
| 169 | (define-key xterm-function-map "\eOm" [kp-subtract]) | ||
| 170 | (define-key xterm-function-map "\eOo" [kp-divide]) | ||
| 171 | (define-key xterm-function-map "\eOp" [kp-0]) | ||
| 172 | (define-key xterm-function-map "\eOq" [kp-1]) | ||
| 173 | (define-key xterm-function-map "\eOr" [kp-2]) | ||
| 174 | (define-key xterm-function-map "\eOs" [kp-3]) | ||
| 175 | (define-key xterm-function-map "\eOt" [kp-4]) | ||
| 176 | (define-key xterm-function-map "\eOu" [kp-5]) | ||
| 177 | (define-key xterm-function-map "\eOv" [kp-6]) | ||
| 178 | (define-key xterm-function-map "\eOw" [kp-7]) | ||
| 179 | (define-key xterm-function-map "\eOx" [kp-8]) | ||
| 180 | (define-key xterm-function-map "\eOy" [kp-9]) | ||
| 181 | |||
| 182 | ;; These keys are available in xterm starting from version 216 | ||
| 183 | ;; if the modifyOtherKeys resource is set to 1. | ||
| 184 | |||
| 185 | (define-key xterm-function-map "\e[27;5;9~" [C-tab]) | ||
| 186 | (define-key xterm-function-map "\e[27;5;13~" [C-return]) | ||
| 187 | (define-key xterm-function-map "\e[27;5;39~" [?\C-\']) | ||
| 188 | (define-key xterm-function-map "\e[27;5;44~" [?\C-,]) | ||
| 189 | (define-key xterm-function-map "\e[27;5;45~" [?\C--]) | ||
| 190 | (define-key xterm-function-map "\e[27;5;46~" [?\C-.]) | ||
| 191 | (define-key xterm-function-map "\e[27;5;47~" [?\C-/]) | ||
| 192 | (define-key xterm-function-map "\e[27;5;48~" [?\C-0]) | ||
| 193 | (define-key xterm-function-map "\e[27;5;49~" [?\C-1]) | ||
| 194 | ;; Not all C-DIGIT keys have a distinct binding. | ||
| 195 | (define-key xterm-function-map "\e[27;5;57~" [?\C-9]) | ||
| 196 | (define-key xterm-function-map "\e[27;5;59~" [?\C-\;]) | ||
| 197 | (define-key xterm-function-map "\e[27;5;61~" [?\C-=]) | ||
| 198 | (define-key xterm-function-map "\e[27;5;92~" [?\C-\\]) | ||
| 199 | |||
| 200 | (define-key xterm-function-map "\e[27;6;33~" [?\C-!]) | ||
| 201 | (define-key xterm-function-map "\e[27;6;34~" [?\C-\"]) | ||
| 202 | (define-key xterm-function-map "\e[27;6;35~" [?\C-#]) | ||
| 203 | (define-key xterm-function-map "\e[27;6;36~" [?\C-$]) | ||
| 204 | (define-key xterm-function-map "\e[27;6;37~" [?\C-%]) | ||
| 205 | (define-key xterm-function-map "\e[27;6;38~" [?\C-&]) | ||
| 206 | (define-key xterm-function-map "\e[27;6;40~" [?\C-(]) | ||
| 207 | (define-key xterm-function-map "\e[27;6;41~" [?\C-)]) | ||
| 208 | (define-key xterm-function-map "\e[27;6;42~" [?\C-*]) | ||
| 209 | (define-key xterm-function-map "\e[27;6;43~" [?\C-+]) | ||
| 210 | (define-key xterm-function-map "\e[27;6;58~" [?\C-:]) | ||
| 211 | (define-key xterm-function-map "\e[27;6;60~" [?\C-<]) | ||
| 212 | (define-key xterm-function-map "\e[27;6;62~" [?\C->]) | ||
| 213 | (define-key xterm-function-map "\e[27;6;63~" [(control ??)]) | ||
| 214 | |||
| 215 | ;; These are the strings emitted for various C-M- combinations | ||
| 216 | ;; for keyboards that the Meta and Alt modifiers are on the same | ||
| 217 | ;; key (usually labeled "Alt"). | ||
| 218 | (define-key xterm-function-map "\e[27;13;9~" [C-M-tab]) | ||
| 219 | (define-key xterm-function-map "\e[27;13;13~" [C-M-return]) | ||
| 220 | |||
| 221 | (define-key xterm-function-map "\e[27;13;39~" [?\C-\M-\']) | ||
| 222 | (define-key xterm-function-map "\e[27;13;44~" [?\C-\M-,]) | ||
| 223 | (define-key xterm-function-map "\e[27;13;45~" [?\C-\M--]) | ||
| 224 | (define-key xterm-function-map "\e[27;13;46~" [?\C-\M-.]) | ||
| 225 | (define-key xterm-function-map "\e[27;13;47~" [?\C-\M-/]) | ||
| 226 | (define-key xterm-function-map "\e[27;13;48~" [?\C-\M-0]) | ||
| 227 | (define-key xterm-function-map "\e[27;13;49~" [?\C-\M-1]) | ||
| 228 | (define-key xterm-function-map "\e[27;13;50~" [?\C-\M-2]) | ||
| 229 | (define-key xterm-function-map "\e[27;13;51~" [?\C-\M-3]) | ||
| 230 | (define-key xterm-function-map "\e[27;13;52~" [?\C-\M-4]) | ||
| 231 | (define-key xterm-function-map "\e[27;13;53~" [?\C-\M-5]) | ||
| 232 | (define-key xterm-function-map "\e[27;13;54~" [?\C-\M-6]) | ||
| 233 | (define-key xterm-function-map "\e[27;13;55~" [?\C-\M-7]) | ||
| 234 | (define-key xterm-function-map "\e[27;13;56~" [?\C-\M-8]) | ||
| 235 | (define-key xterm-function-map "\e[27;13;57~" [?\C-\M-9]) | ||
| 236 | (define-key xterm-function-map "\e[27;13;59~" [?\C-\M-\;]) | ||
| 237 | (define-key xterm-function-map "\e[27;13;61~" [?\C-\M-=]) | ||
| 238 | (define-key xterm-function-map "\e[27;13;92~" [?\C-\M-\\]) | ||
| 239 | |||
| 240 | (define-key xterm-function-map "\e[27;14;33~" [?\C-\M-!]) | ||
| 241 | (define-key xterm-function-map "\e[27;14;34~" [?\C-\M-\"]) | ||
| 242 | (define-key xterm-function-map "\e[27;14;35~" [?\C-\M-#]) | ||
| 243 | (define-key xterm-function-map "\e[27;14;36~" [?\C-\M-$]) | ||
| 244 | (define-key xterm-function-map "\e[27;14;37~" [?\C-\M-%]) | ||
| 245 | (define-key xterm-function-map "\e[27;14;38~" [?\C-\M-&]) | ||
| 246 | (define-key xterm-function-map "\e[27;14;40~" [?\C-\M-\(]) | ||
| 247 | (define-key xterm-function-map "\e[27;14;41~" [?\C-\M-\)]) | ||
| 248 | (define-key xterm-function-map "\e[27;14;42~" [?\C-\M-*]) | ||
| 249 | (define-key xterm-function-map "\e[27;14;43~" [?\C-\M-+]) | ||
| 250 | (define-key xterm-function-map "\e[27;14;58~" [?\C-\M-:]) | ||
| 251 | (define-key xterm-function-map "\e[27;14;60~" [?\C-\M-<]) | ||
| 252 | (define-key xterm-function-map "\e[27;14;62~" [?\C-\M->]) | ||
| 253 | (define-key xterm-function-map "\e[27;14;63~" [(control meta ??)]) | ||
| 254 | |||
| 255 | (define-key xterm-function-map "\e[27;7;9~" [C-M-tab]) | ||
| 256 | (define-key xterm-function-map "\e[27;7;13~" [C-M-return]) | ||
| 257 | |||
| 258 | (define-key xterm-function-map "\e[27;7;32~" [?\C-\M-\s]) | ||
| 259 | (define-key xterm-function-map "\e[27;7;39~" [?\C-\M-\']) | ||
| 260 | (define-key xterm-function-map "\e[27;7;44~" [?\C-\M-,]) | ||
| 261 | (define-key xterm-function-map "\e[27;7;45~" [?\C-\M--]) | ||
| 262 | (define-key xterm-function-map "\e[27;7;46~" [?\C-\M-.]) | ||
| 263 | (define-key xterm-function-map "\e[27;7;47~" [?\C-\M-/]) | ||
| 264 | (define-key xterm-function-map "\e[27;7;48~" [?\C-\M-0]) | ||
| 265 | (define-key xterm-function-map "\e[27;7;49~" [?\C-\M-1]) | ||
| 266 | (define-key xterm-function-map "\e[27;7;50~" [?\C-\M-2]) | ||
| 267 | (define-key xterm-function-map "\e[27;7;51~" [?\C-\M-3]) | ||
| 268 | (define-key xterm-function-map "\e[27;7;52~" [?\C-\M-4]) | ||
| 269 | (define-key xterm-function-map "\e[27;7;53~" [?\C-\M-5]) | ||
| 270 | (define-key xterm-function-map "\e[27;7;54~" [?\C-\M-6]) | ||
| 271 | (define-key xterm-function-map "\e[27;7;55~" [?\C-\M-7]) | ||
| 272 | (define-key xterm-function-map "\e[27;7;56~" [?\C-\M-8]) | ||
| 273 | (define-key xterm-function-map "\e[27;7;57~" [?\C-\M-9]) | ||
| 274 | (define-key xterm-function-map "\e[27;7;59~" [?\C-\M-\;]) | ||
| 275 | (define-key xterm-function-map "\e[27;7;61~" [?\C-\M-=]) | ||
| 276 | (define-key xterm-function-map "\e[27;7;92~" [?\C-\M-\\]) | ||
| 277 | |||
| 278 | (define-key xterm-function-map "\e[27;8;33~" [?\C-\M-!]) | ||
| 279 | (define-key xterm-function-map "\e[27;8;34~" [?\C-\M-\"]) | ||
| 280 | (define-key xterm-function-map "\e[27;8;35~" [?\C-\M-#]) | ||
| 281 | (define-key xterm-function-map "\e[27;8;36~" [?\C-\M-$]) | ||
| 282 | (define-key xterm-function-map "\e[27;8;37~" [?\C-\M-%]) | ||
| 283 | (define-key xterm-function-map "\e[27;8;38~" [?\C-\M-&]) | ||
| 284 | (define-key xterm-function-map "\e[27;8;40~" [?\C-\M-\(]) | ||
| 285 | (define-key xterm-function-map "\e[27;8;41~" [?\C-\M-\)]) | ||
| 286 | (define-key xterm-function-map "\e[27;8;42~" [?\C-\M-*]) | ||
| 287 | (define-key xterm-function-map "\e[27;8;43~" [?\C-\M-+]) | ||
| 288 | (define-key xterm-function-map "\e[27;8;58~" [?\C-\M-:]) | ||
| 289 | (define-key xterm-function-map "\e[27;8;60~" [?\C-\M-<]) | ||
| 290 | (define-key xterm-function-map "\e[27;8;62~" [?\C-\M->]) | ||
| 291 | (define-key xterm-function-map "\e[27;8;63~" [(control meta ??)]) | ||
| 292 | |||
| 293 | (define-key xterm-function-map "\e[27;2;9~" [S-tab]) | ||
| 294 | (define-key xterm-function-map "\e[27;2;13~" [S-return]) | ||
| 295 | |||
| 296 | (define-key xterm-function-map "\e[27;6;9~" [C-S-tab]) | ||
| 297 | (define-key xterm-function-map "\e[27;6;13~" [C-S-return]) | ||
| 298 | |||
| 299 | ;; Other versions of xterm might emit these. | ||
| 300 | (define-key xterm-function-map "\e[A" [up]) | ||
| 301 | (define-key xterm-function-map "\e[B" [down]) | ||
| 302 | (define-key xterm-function-map "\e[C" [right]) | ||
| 303 | (define-key xterm-function-map "\e[D" [left]) | ||
| 304 | (define-key xterm-function-map "\e[1~" [home]) | ||
| 305 | |||
| 306 | (define-key xterm-function-map "\e[1;2A" [S-up]) | ||
| 307 | (define-key xterm-function-map "\e[1;2B" [S-down]) | ||
| 308 | (define-key xterm-function-map "\e[1;2C" [S-right]) | ||
| 309 | (define-key xterm-function-map "\e[1;2D" [S-left]) | ||
| 310 | (define-key xterm-function-map "\e[1;2F" [S-end]) | ||
| 311 | (define-key xterm-function-map "\e[1;2H" [S-home]) | ||
| 312 | |||
| 313 | (define-key xterm-function-map "\e[1;5A" [C-up]) | ||
| 314 | (define-key xterm-function-map "\e[1;5B" [C-down]) | ||
| 315 | (define-key xterm-function-map "\e[1;5C" [C-right]) | ||
| 316 | (define-key xterm-function-map "\e[1;5D" [C-left]) | ||
| 317 | (define-key xterm-function-map "\e[1;5F" [C-end]) | ||
| 318 | (define-key xterm-function-map "\e[1;5H" [C-home]) | ||
| 319 | |||
| 320 | (define-key xterm-function-map "\e[11~" [f1]) | ||
| 321 | (define-key xterm-function-map "\e[12~" [f2]) | ||
| 322 | (define-key xterm-function-map "\e[13~" [f3]) | ||
| 323 | (define-key xterm-function-map "\e[14~" [f4]) | ||
| 324 | |||
| 325 | ;; List of terminals for which modify-other-keys has been turned on. | 327 | ;; List of terminals for which modify-other-keys has been turned on. |
| 326 | (defvar xterm-modify-other-keys-terminal-list nil) | 328 | (defvar xterm-modify-other-keys-terminal-list nil) |
| 327 | 329 | ||
| @@ -334,14 +336,13 @@ | |||
| 334 | (string-match "\\`rxvt" (getenv "COLORTERM" (selected-frame)))) | 336 | (string-match "\\`rxvt" (getenv "COLORTERM" (selected-frame)))) |
| 335 | (tty-run-terminal-initialization (selected-frame) "rxvt") | 337 | (tty-run-terminal-initialization (selected-frame) "rxvt") |
| 336 | 338 | ||
| 337 | ;; The terminal intialization C code file might have initialized | 339 | ;; The terminal initialization C code file might have initialized |
| 338 | ;; function keys F13->F60 from the termcap/terminfo information. On | 340 | ;; function keys F13->F60 from the termcap/terminfo information. |
| 339 | ;; a PC-style keyboard these keys correspond to | 341 | ;; On a PC-style keyboard these keys correspond to |
| 340 | ;; MODIFIER-FUNCTION_KEY, where modifier is S-, C, A-, C-S-. The | 342 | ;; MODIFIER-FUNCTION_KEY, where modifier is S-, C, A-, C-S-. The code |
| 341 | ;; code here subsitutes the corresponding defintions in | 343 | ;; here substitutes the corresponding definitions in function-key-map. |
| 342 | ;; function-key-map. This substitution is needed because if a key | 344 | ;; This substitution is needed because if a key definition is found in |
| 343 | ;; definition is found in function-key-map, there are no further | 345 | ;; function-key-map, there are no further lookups in other keymaps. |
| 344 | ;; lookups in other keymaps. | ||
| 345 | (substitute-key-definition [f13] [S-f1] local-function-key-map) | 346 | (substitute-key-definition [f13] [S-f1] local-function-key-map) |
| 346 | (substitute-key-definition [f14] [S-f2] local-function-key-map) | 347 | (substitute-key-definition [f14] [S-f2] local-function-key-map) |
| 347 | (substitute-key-definition [f15] [S-f3] local-function-key-map) | 348 | (substitute-key-definition [f15] [S-f3] local-function-key-map) |
| @@ -427,7 +428,7 @@ | |||
| 427 | ;; NUMBER2 is the xterm version number, look for something | 428 | ;; NUMBER2 is the xterm version number, look for something |
| 428 | ;; greater than 216, the version when modifyOtherKeys was | 429 | ;; greater than 216, the version when modifyOtherKeys was |
| 429 | ;; introduced. | 430 | ;; introduced. |
| 430 | (when (>= (string-to-number | 431 | (when (>= (string-to-number |
| 431 | (substring str (match-beginning 1) (match-end 1))) 216) | 432 | (substring str (match-beginning 1) (match-end 1))) 216) |
| 432 | ;; Make sure that the modifyOtherKeys state is restored when | 433 | ;; Make sure that the modifyOtherKeys state is restored when |
| 433 | ;; suspending, resuming and exiting. | 434 | ;; suspending, resuming and exiting. |
| @@ -437,7 +438,7 @@ | |||
| 437 | (add-hook 'delete-frame-hook 'xterm-remove-modify-other-keys) | 438 | (add-hook 'delete-frame-hook 'xterm-remove-modify-other-keys) |
| 438 | ;; Add the selected frame to the list of frames that | 439 | ;; Add the selected frame to the list of frames that |
| 439 | ;; need to deal with modify-other-keys. | 440 | ;; need to deal with modify-other-keys. |
| 440 | (push (frame-terminal (selected-frame)) | 441 | (push (frame-terminal (selected-frame)) |
| 441 | xterm-modify-other-keys-terminal-list) | 442 | xterm-modify-other-keys-terminal-list) |
| 442 | (xterm-turn-on-modify-other-keys))))))) | 443 | (xterm-turn-on-modify-other-keys))))))) |
| 443 | 444 | ||
| @@ -576,8 +577,8 @@ versions of xterm." | |||
| 576 | (setq frame (and frame (selected-frame))) | 577 | (setq frame (and frame (selected-frame))) |
| 577 | (when (and (frame-live-p frame) | 578 | (when (and (frame-live-p frame) |
| 578 | (memq frame xterm-modify-other-keys-terminal-list)) | 579 | (memq frame xterm-modify-other-keys-terminal-list)) |
| 579 | (setq xterm-modify-other-keys-terminal-list | 580 | (setq xterm-modify-other-keys-terminal-list |
| 580 | (delq (frame-terminal frame) | 581 | (delq (frame-terminal frame) |
| 581 | xterm-modify-other-keys-terminal-list)) | 582 | xterm-modify-other-keys-terminal-list)) |
| 582 | (send-string-to-terminal "\e[>4m"))) | 583 | (send-string-to-terminal "\e[>4m"))) |
| 583 | 584 | ||