]> git.eshelyaron.com Git - emacs.git/commitdiff
(function-key-map): Add entry for `ESC [ 3 ~' -> <delete>
authorStefan Monnier <monnier@iro.umontreal.ca>
Sun, 4 Nov 2001 02:03:05 +0000 (02:03 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Sun, 4 Nov 2001 02:03:05 +0000 (02:03 +0000)
Add entries `ESC O 5 [ABCD]' -> C-{up,down,right,left}.
Use inheritance so that .emacs and terminfo take precedence.

lisp/ChangeLog
lisp/term/xterm.el

index 81557dc634cbc3377d8efa68ac33b2ba4d158d8a..766ec3dad5833b8ca300cbd00466ad9adbe86b91 100644 (file)
@@ -1,3 +1,10 @@
+2001-11-03  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * term/xterm.el (function-key-map):
+       Add entry for `ESC [ 3 ~' -> <delete>
+       Add entries `ESC O 5 [ABCD]' -> C-{up,down,right,left}.
+       Use inheritance so that .emacs and terminfo take precedence.
+
 2001-11-03  Eli Zaretskii  <eliz@is.elta.co.il>
 
        * tooltip.el (tooltip-delay): Decrease to 0.7.
index 6f0f779df49ec7e55516046c51e35242b35b7484..b04f03961348547ba9f3b12c5c5ae2ce1fe706d2 100644 (file)
 
 ;;; Code:
 
-(define-key function-key-map "\e[A" [up])
-(define-key function-key-map "\e[B" [down])
-(define-key function-key-map "\e[C" [right])
-(define-key function-key-map "\e[D" [left])
-(define-key function-key-map "\e[2~" [insert])
-(define-key function-key-map "\e[4~" [select])
-(define-key function-key-map "\e[5~" [prior])
-(define-key function-key-map "\e[6~" [next])
-(define-key function-key-map "\e[11~" [f1])
-(define-key function-key-map "\e[12~" [f2])
-(define-key function-key-map "\e[13~" [f3])
-(define-key function-key-map "\e[14~" [f4])
-(define-key function-key-map "\e[15~" [f5])
-(define-key function-key-map "\e[17~" [f6])
-(define-key function-key-map "\e[18~" [f7])
-(define-key function-key-map "\e[19~" [f8])
-(define-key function-key-map "\e[20~" [f9])
-(define-key function-key-map "\e[21~" [f10])
-(define-key function-key-map "\e[23~" [f11])
-(define-key function-key-map "\e[24~" [f12])
-(define-key function-key-map "\e[29~" [print])
+(let ((map (make-sparse-keymap)))
+  (define-key map "\e[A" [up])
+  (define-key map "\e[B" [down])
+  (define-key map "\e[C" [right])
+  (define-key map "\e[D" [left])
+  (define-key map "\e[1~" [home])
+  (define-key map "\e[2~" [insert])
+  (define-key map "\e[3~" [delete])
+  (define-key map "\e[4~" [select])
+  (define-key map "\e[5~" [prior])
+  (define-key map "\e[6~" [next])
+  (define-key map "\e[11~" [f1])
+  (define-key map "\e[12~" [f2])
+  (define-key map "\e[13~" [f3])
+  (define-key map "\e[14~" [f4])
+  (define-key map "\e[15~" [f5])
+  (define-key map "\e[17~" [f6])
+  (define-key map "\e[18~" [f7])
+  (define-key map "\e[19~" [f8])
+  (define-key map "\e[20~" [f9])
+  (define-key map "\e[21~" [f10])
+  (define-key map "\e[23~" [f11])
+  (define-key map "\e[24~" [f12])
+  (define-key map "\e[29~" [print])
+
+  (define-key map "\eO5A" [C-up])
+  (define-key map "\eO5B" [C-down])
+  (define-key map "\eO5C" [C-right])
+  (define-key map "\eO5D" [C-left])
+
+  ;; Use inheritance to let the main keymap override those defaults.
+  ;; This way we don't override terminfo-derived settings or settings
+  ;; made in the .emacs file.
+  (set-keymap-parent map (keymap-parent function-key-map))
+  (set-keymap-parent function-key-map map))
 
 ;;; xterm.el ends here