aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChong Yidong <[email protected]>2006-03-06 22:31:36 +0000
committerChong Yidong <[email protected]>2006-03-06 22:31:36 +0000
commit4dfb2678457a24be4ffbb76f5ce50e4f951121a0 (patch)
tree9bcde51947d682282f5a48883b91b44d850c9c99
parent977c9661d3005d3d6562f94add078fcb96de523f (diff)
* help.el (describe-key): Handle string and vector `follow-link' values.
-rw-r--r--lisp/ChangeLog2
-rw-r--r--lisp/help.el22
2 files changed, 16 insertions, 8 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 788c2b83c4..850397d483 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -2,7 +2,7 @@
* help.el (describe-key): Properly handle the return value of
read-key-sequence when grabbing an up-event. Cleanup mouse-1
- remaps.
+ remaps. Handle string and vector `follow-link' values.
2006-03-06 Stefan Monnier <[email protected]>
diff --git a/lisp/help.el b/lisp/help.el
index 0690cc6443..7ee5ee52fe 100644
--- a/lisp/help.el
+++ b/lisp/help.el
@@ -710,19 +710,26 @@ temporarily enables it to allow getting help on disabled items and buttons."
(when up-event
(let ((type (event-basic-type up-event))
(hdr "\n\n-------------- up event ---------------\n\n")
- defn
+ defn sequence
mouse-1-tricky mouse-1-remapped)
+ (setq sequence (vector up-event))
(when (and (eq type 'mouse-1)
(windowp window)
mouse-1-click-follows-link
(not (eq mouse-1-click-follows-link 'double))
- (with-current-buffer (window-buffer window)
- (mouse-on-link-p (posn-point (event-start up-event)))))
- (setq mouse-1-remapped t)
+ (setq mouse-1-remapped
+ (with-current-buffer (window-buffer window)
+ (mouse-on-link-p (posn-point
+ (event-start up-event))))))
(setq mouse-1-tricky (and (integerp mouse-1-click-follows-link)
(> mouse-1-click-follows-link 0)))
- (setcar up-event 'mouse-2))
- (setq defn (key-binding (vector up-event)))
+ (cond ((stringp mouse-1-remapped)
+ (setq sequence mouse-1-remapped))
+ ((vectorp mouse-1-remapped)
+ (setcar up-event (elt mouse-1-remapped 0)))
+ (t (setcar up-event 'mouse-2))))
+ (setq defn (or (string-key-binding sequence)
+ (key-binding sequence)))
(unless (or (null defn) (integerp defn) (equal defn 'undefined))
(princ (if mouse-1-tricky
"\n\n----------------- up-event (short click) ----------------\n\n"
@@ -739,7 +746,8 @@ temporarily enables it to allow getting help on disabled items and buttons."
(describe-function-1 defn))
(when mouse-1-tricky
(setcar up-event 'mouse-1)
- (setq defn (key-binding (vector up-event)))
+ (setq defn (or (string-key-binding (vector up-event))
+ (key-binding (vector up-event))))
(unless (or (null defn) (integerp defn) (eq defn 'undefined))
(princ (or hdr
"\n\n----------------- up-event (long click) ----------------\n\n"))