aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/help.el
diff options
context:
space:
mode:
authorNoam Postavsky2017-06-18 00:39:05 -0400
committerNoam Postavsky2017-07-01 09:40:29 -0400
commite620bbe38ed5e3e2a77f01eac2814c01dfa41c2d (patch)
tree410c3f1fea63b0b88b981674eb35c504d8853f4a /lisp/help.el
parent2bd32ede1ce05b88278bab15f6cc603c97a1fb2f (diff)
downloademacs-e620bbe38ed5e3e2a77f01eac2814c01dfa41c2d.tar.gz
emacs-e620bbe38ed5e3e2a77f01eac2814c01dfa41c2d.zip
Ignore mouse-movement for describe-key-briefly (Bug#12204)
* lisp/help.el (help-read-key-sequence): Add optional argument ot ignore `mouse-movement' events. (describe-key-briefly): Use it. * doc/emacs/help.texi (Key Help): * etc/NEWS: Mention that mouse movement is ignored.
Diffstat (limited to 'lisp/help.el')
-rw-r--r--lisp/help.el18
1 files changed, 12 insertions, 6 deletions
diff --git a/lisp/help.el b/lisp/help.el
index 78687a9e8a8..0fb1c2dab77 100644
--- a/lisp/help.el
+++ b/lisp/help.el
@@ -636,7 +636,9 @@ the last key hit are used.
636If KEY is a menu item or a tool-bar button that is disabled, this command 636If KEY is a menu item or a tool-bar button that is disabled, this command
637temporarily enables it to allow getting help on disabled items and buttons." 637temporarily enables it to allow getting help on disabled items and buttons."
638 (interactive 638 (interactive
639 (pcase-let ((`(,key ,_up-event) (help-read-key-sequence))) 639 ;; Ignore mouse movement events because it's too easy to miss the
640 ;; message while moving the mouse.
641 (pcase-let ((`(,key ,_up-event) (help-read-key-sequence 'no-mouse-movement)))
640 `(,key ,current-prefix-arg 1))) 642 `(,key ,current-prefix-arg 1)))
641 (princ (car (help--analyze-key key untranslated)) 643 (princ (car (help--analyze-key key untranslated))
642 (if insert (current-buffer) standard-output))) 644 (if insert (current-buffer) standard-output)))
@@ -704,11 +706,13 @@ function `key-binding'."
704 (throw 'found x)))) 706 (throw 'found x))))
705 nil))))) 707 nil)))))
706 708
707(defun help-read-key-sequence () 709(defun help-read-key-sequence (&optional no-mouse-movement)
708 "Reads a key sequence from the user. 710 "Reads a key sequence from the user.
709Returns a list of the form (KEY UP-EVENT), where KEY is the key 711Returns a list of the form (KEY UP-EVENT), where KEY is the key
710sequence, and UP-EVENT is the up-event that was discarded by 712sequence, and UP-EVENT is the up-event that was discarded by
711reading KEY, or nil." 713reading KEY, or nil.
714If NO-MOUSE-MOVEMENT is non-nil, ignore key sequences starting
715with `mouse-movement' events."
712 (let ((enable-disabled-menus-and-buttons t) 716 (let ((enable-disabled-menus-and-buttons t)
713 (cursor-in-echo-area t) 717 (cursor-in-echo-area t)
714 saved-yank-menu) 718 saved-yank-menu)
@@ -724,9 +728,11 @@ reading KEY, or nil."
724Describe the following key, mouse click, or menu item: ")) 728Describe the following key, mouse click, or menu item: "))
725 ((and (pred vectorp) (let `(,key0 . ,_) (aref key 0)) 729 ((and (pred vectorp) (let `(,key0 . ,_) (aref key 0))
726 (guard (symbolp key0)) (let keyname (symbol-name key0))) 730 (guard (symbolp key0)) (let keyname (symbol-name key0)))
727 (and (string-match "\\(mouse\\|down\\|click\\|drag\\)" 731 (if no-mouse-movement
728 keyname) 732 (string-match "mouse-movement" keyname)
729 (not (sit-for (/ double-click-time 1000.0) t)))))) 733 (and (string-match "\\(mouse\\|down\\|click\\|drag\\)"
734 keyname)
735 (not (sit-for (/ double-click-time 1000.0) t)))))))
730 (list 736 (list
731 key 737 key
732 ;; If KEY is a down-event, read and include the 738 ;; If KEY is a down-event, read and include the