changeset 81425:35c33a1ec5f0

2007-06-14 Michael Kifer <kifer@cs.stonybrook.edu> * viper.el (viper-describe-key-ad, viper-describe-key-briefly-ad): different advices for Emacs and XEmacs. Compile them conditionally. (viper-version): belated version change.
author Michael Kifer <kifer@cs.stonybrook.edu>
date Thu, 14 Jun 2007 18:10:46 +0000
parents fa602a9843d4
children 588659946874
files etc/ChangeLog lisp/emulation/viper.el
diffstat 2 files changed, 63 insertions(+), 42 deletions(-) [+]
line wrap: on
line diff
--- a/etc/ChangeLog	Thu Jun 14 16:56:40 2007 +0000
+++ b/etc/ChangeLog	Thu Jun 14 18:10:46 2007 +0000
@@ -1,3 +1,9 @@
+2007-06-14  Michael Kifer  <kifer@cs.stonybrook.edu>
+	
+	* viper.el (viper-describe-key-ad, viper-describe-key-briefly-ad):
+	different advices for Emacs and XEmacs. Compile them conditionally.
+	(viper-version): belated version change.
+	
 2007-06-14  Nick Roberts  <nickrob@snap.net.nz>
 
 	* NEWS: Mention mouse highlighting in a GNU/Linux console.
--- a/lisp/emulation/viper.el	Thu Jun 14 16:56:40 2007 +0000
+++ b/lisp/emulation/viper.el	Thu Jun 14 18:10:46 2007 +0000
@@ -9,7 +9,7 @@
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
 ;; Keywords: emulations
 
-(defconst viper-version "3.13.1 of October 23, 2006"
+(defconst viper-version "3.14 of June 14, 2007"
   "The current version of Viper")
 
 ;; This file is part of GNU Emacs.
@@ -1026,48 +1026,63 @@
       (setq global-mode-string
 	    (append '("" viper-mode-string) (cdr global-mode-string))))
 
-  (defadvice describe-key (before viper-describe-key-ad protect activate)
-    "Force to read key via `viper-read-key-sequence'."
-    (interactive (let (key)
-		   (setq key (viper-read-key-sequence
-			      "Describe key (or click or menu item): "))
-		   (list key
-			 (prefix-numeric-value current-prefix-arg)
-			 ;; If KEY is a down-event, read also the
-			 ;; corresponding up-event.
-			 (and (vectorp key)
-			      (let ((last-idx (1- (length key))))
-				(and (eventp (aref key last-idx))
-				     (memq 'down (event-modifiers
-						  (aref key last-idx)))))
-			      (or (and (eventp (aref key 0))
-				       (memq 'down (event-modifiers
-						    (aref key 0)))
-				       ;; For the C-down-mouse-2 popup
-				       ;; menu, there is no subsequent up-event.
-				       (= (length key) 1))
-				  (and (> (length key) 1)
-				       (eventp (aref key 1))
-				       (memq 'down (event-modifiers (aref key 1)))))
-			      (read-event))))))
+  (viper-cond-compile-for-xemacs-or-emacs
+   ;; XEmacs
+   (defadvice describe-key (before viper-describe-key-ad protect activate)
+     "Force to read key via `viper-read-key-sequence'."
+     (interactive (list (viper-read-key-sequence "Describe key: "))))
+   ;; Emacs
+   (defadvice describe-key (before viper-describe-key-ad protect activate)
+     "Force to read key via `viper-read-key-sequence'."
+     (interactive (let (key)
+		    (setq key (viper-read-key-sequence
+			       "Describe key (or click or menu item): "))
+		    (list key
+			  (prefix-numeric-value current-prefix-arg)
+			  ;; If KEY is a down-event, read also the
+			  ;; corresponding up-event.
+			  (and (vectorp key)
+			       (let ((last-idx (1- (length key))))
+				 (and (eventp (aref key last-idx))
+				      (memq 'down (event-modifiers
+						   (aref key last-idx)))))
+			       (or (and (eventp (aref key 0))
+					(memq 'down (event-modifiers
+						     (aref key 0)))
+					;; For the C-down-mouse-2 popup menu,
+					;; there is no subsequent up-event
+					(= (length key) 1))
+				   (and (> (length key) 1)
+					(eventp (aref key 1))
+					(memq 'down (event-modifiers (aref key 1)))))
+			       (read-event))))))
+   ) ; viper-cond-compile-for-xemacs-or-emacs
 
-  (defadvice describe-key-briefly
-    (before viper-describe-key-briefly-ad protect activate)
-    "Force to read key via `viper-read-key-sequence'."
-    (interactive (let (key)
-		   (setq key (viper-read-key-sequence
-			      "Describe key (or click or menu item): "))
-		   ;; If KEY is a down-event, read and discard the
-		   ;; corresponding up-event.
-		   (and (vectorp key)
-			(let ((last-idx (1- (length key))))
-			  (and (eventp (aref key last-idx))
-			       (memq 'down (event-modifiers (aref key last-idx)))))
-			(read-event))
-		   (list key
-			 (if current-prefix-arg
-			     (prefix-numeric-value current-prefix-arg))
-			 1))))
+  (viper-cond-compile-for-xemacs-or-emacs
+   ;; XEmacs
+   (defadvice describe-key-briefly
+     (before viper-describe-key-briefly-ad protect activate)
+     "Force to read key via `viper-read-key-sequence'."
+     (interactive (list (viper-read-key-sequence "Describe key briefly: "))))
+   ;; Emacs
+   (defadvice describe-key-briefly
+     (before viper-describe-key-briefly-ad protect activate)
+     "Force to read key via `viper-read-key-sequence'."
+     (interactive (let (key)
+		    (setq key (viper-read-key-sequence
+			       "Describe key (or click or menu item): "))
+		    ;; If KEY is a down-event, read and discard the
+		    ;; corresponding up-event.
+		    (and (vectorp key)
+			 (let ((last-idx (1- (length key))))
+			   (and (eventp (aref key last-idx))
+				(memq 'down (event-modifiers (aref key last-idx)))))
+			 (read-event))
+		    (list key
+			  (if current-prefix-arg
+			      (prefix-numeric-value current-prefix-arg))
+			  1))))
+   ) ;; viper-cond-compile-for-xemacs-or-emacs
 
   (defadvice find-file (before viper-add-suffix-advice activate)
     "Use `read-file-name' for reading arguments."