diff lisp/term/xterm.el @ 65314:6c488c4c11c6

* term/xterm.el (terminal-init-xterm): Add eval-when-compile to fix compilation warning. Reorder the key definitions to group together keys emitted by the current version of xterm. * progmodes/vhdl-mode.el (vhdl-highlight-faces) (vhdl-speedbar-entity-face, vhdl-speedbar-entity-selected-face): Reorder predicates to correct min-color usage.
author Dan Nicolaescu <dann@ics.uci.edu>
date Fri, 02 Sep 2005 16:59:57 +0000
parents 34bd8e434dd7
children abfd35943fc4 532e0a9335a9 a3716f7538f2
line wrap: on
line diff
--- a/lisp/term/xterm.el	Fri Sep 02 12:30:51 2005 +0000
+++ b/lisp/term/xterm.el	Fri Sep 02 16:59:57 2005 +0000
@@ -33,8 +33,8 @@
   ;; better in that case to use rxvt's initializion function.
   (if (and (getenv "COLORTERM")
 	   (string-match "\\`rxvt" (getenv "COLORTERM")))
-      (progn
-	(load "term/rxvt")
+      (progn 
+	(eval-when-compile (load "term/rxvt"))
 	(terminal-init-rxvt))
 
     ;; The terminal intialization C code file might have initialized
@@ -98,20 +98,11 @@
     (substitute-key-definition [f60] [A-f12] function-key-map)
 
     (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])
+      ;; xterm from X.org 6.8.2 uses these key definitions.
+      (define-key map "\eOP" [f1])
+      (define-key map "\eOQ" [f2])
+      (define-key map "\eOR" [f3])
+      (define-key map "\eOS" [f4])
       (define-key map "\e[15~" [f5])
       (define-key map "\e[17~" [f6])
       (define-key map "\e[18~" [f7])
@@ -120,12 +111,6 @@
       (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 "\eOP" [f1])
-      (define-key map "\eOQ" [f2])
-      (define-key map "\eOR" [f3])
-      (define-key map "\eOS" [f4])
 
       (define-key map "\eO2P" [S-f1])
       (define-key map "\eO2Q" [S-f2])
@@ -179,6 +164,13 @@
       (define-key map "\e[23;3~" [A-f11])
       (define-key map "\e[24;3~" [A-f12])
 
+      (define-key map "\eOA" [up])
+      (define-key map "\eOB" [down])
+      (define-key map "\eOC" [right])
+      (define-key map "\eOD" [left])
+      (define-key map "\eOF" [end])
+      (define-key map "\eOH" [home])
+
       (define-key map "\e[1;2A" [S-up])
       (define-key map "\e[1;2B" [S-down])
       (define-key map "\e[1;2C" [S-right])
@@ -207,6 +199,11 @@
       (define-key map "\e[1;3F" [A-end])
       (define-key map "\e[1;3H" [A-home])
 
+      (define-key map "\e[2~" [insert])
+      (define-key map "\e[3~" [delete])
+      (define-key map "\e[5~" [prior])
+      (define-key map "\e[6~" [next])
+
       (define-key map "\e[2;2~" [S-insert])
       (define-key map "\e[3;2~" [S-delete])
       (define-key map "\e[5;2~" [S-prior])
@@ -227,12 +224,15 @@
       (define-key map "\e[5;3~" [A-prior])
       (define-key map "\e[6;3~" [A-next])
 
-      (define-key map "\eOA" [up])
-      (define-key map "\eOB" [down])
-      (define-key map "\eOC" [right])
-      (define-key map "\eOD" [left])
-      (define-key map "\eOF" [end])
-      (define-key map "\eOH" [home])
+      (define-key map "\e[4~" [select])
+      (define-key map "\e[29~" [print])
+
+      ;; Other versions of xterm might emit these.
+      (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 "\eO2A" [S-up])
       (define-key map "\eO2B" [S-down])
@@ -248,6 +248,11 @@
       (define-key map "\eO5F" [C-end])
       (define-key map "\eO5H" [C-home])
 
+      (define-key map "\e[11~" [f1])
+      (define-key map "\e[12~" [f2])
+      (define-key map "\e[13~" [f3])
+      (define-key map "\e[14~" [f4])
+
       ;; 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.