aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/emulation
diff options
context:
space:
mode:
authorKaroly Lorentey2007-04-22 12:42:47 +0000
committerKaroly Lorentey2007-04-22 12:42:47 +0000
commit9d0799072a0d09bc14a99eaf372b262d1ba61399 (patch)
tree76acd4ae0559776a5ec27fbd5c25598285ec71d1 /lisp/emulation
parente18c709364b095ea0be8ecabe458ac9a642a252f (diff)
parenta20becf321f023c6dc1831595712576d64e2ef4b (diff)
downloademacs-9d0799072a0d09bc14a99eaf372b262d1ba61399.tar.gz
emacs-9d0799072a0d09bc14a99eaf372b262d1ba61399.zip
Merged from emacs@sv.gnu.org
Patches applied: * emacs@sv.gnu.org/emacs--devo--0--patch-674 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-675 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-676 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-677 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-678 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-679 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-680 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-681 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-682 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-683 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-684 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-685 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-686 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-687 Release ERC 5.2. * emacs@sv.gnu.org/emacs--devo--0--patch-688 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-689 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-690 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-691 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-692 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-693 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-694 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-695 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-696 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-697 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-698 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-699 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-700 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-701 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-209 Merge from emacs--devo--0 * emacs@sv.gnu.org/gnus--rel--5.10--patch-210 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-211 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-212 Merge from emacs--devo--0 * emacs@sv.gnu.org/gnus--rel--5.10--patch-213 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-214 Merge from emacs--devo--0 * emacs@sv.gnu.org/gnus--rel--5.10--patch-215 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-601
Diffstat (limited to 'lisp/emulation')
-rw-r--r--lisp/emulation/viper.el40
1 files changed, 36 insertions, 4 deletions
diff --git a/lisp/emulation/viper.el b/lisp/emulation/viper.el
index ddd37b16cc2..67ec3660c65 100644
--- a/lisp/emulation/viper.el
+++ b/lisp/emulation/viper.el
@@ -1027,14 +1027,46 @@ It also can't undo some Viper settings."
1027 1027
1028 (defadvice describe-key (before viper-describe-key-ad protect activate) 1028 (defadvice describe-key (before viper-describe-key-ad protect activate)
1029 "Force to read key via `viper-read-key-sequence'." 1029 "Force to read key via `viper-read-key-sequence'."
1030 (interactive (list (viper-read-key-sequence "Describe key: ")) 1030 (interactive (let (key)
1031 )) 1031 (setq key (viper-read-key-sequence
1032 "Describe key (or click or menu item): "))
1033 (list key
1034 (prefix-numeric-value current-prefix-arg)
1035 ;; If KEY is a down-event, read also the
1036 ;; corresponding up-event.
1037 (and (vectorp key)
1038 (let ((last-idx (1- (length key))))
1039 (and (eventp (aref key last-idx))
1040 (memq 'down (event-modifiers
1041 (aref key last-idx)))))
1042 (or (and (eventp (aref key 0))
1043 (memq 'down (event-modifiers
1044 (aref key 0)))
1045 ;; For the C-down-mouse-2 popup
1046 ;; menu, there is no subsequent up-event.
1047 (= (length key) 1))
1048 (and (> (length key) 1)
1049 (eventp (aref key 1))
1050 (memq 'down (event-modifiers (aref key 1)))))
1051 (read-event))))))
1032 1052
1033 (defadvice describe-key-briefly 1053 (defadvice describe-key-briefly
1034 (before viper-describe-key-briefly-ad protect activate) 1054 (before viper-describe-key-briefly-ad protect activate)
1035 "Force to read key via `viper-read-key-sequence'." 1055 "Force to read key via `viper-read-key-sequence'."
1036 (interactive (list (viper-read-key-sequence "Describe key briefly: ")))) 1056 (interactive (let (key)
1037 1057 (setq key (viper-read-key-sequence
1058 "Describe key (or click or menu item): "))
1059 ;; If KEY is a down-event, read and discard the
1060 ;; corresponding up-event.
1061 (and (vectorp key)
1062 (let ((last-idx (1- (length key))))
1063 (and (eventp (aref key last-idx))
1064 (memq 'down (event-modifiers (aref key last-idx)))))
1065 (read-event))
1066 (list key
1067 (if current-prefix-arg
1068 (prefix-numeric-value current-prefix-arg))
1069 1))))
1038 1070
1039 (defadvice find-file (before viper-add-suffix-advice activate) 1071 (defadvice find-file (before viper-add-suffix-advice activate)
1040 "Use `read-file-name' for reading arguments." 1072 "Use `read-file-name' for reading arguments."