diff --git a/lisp/help.el b/lisp/help.el index 8f771670408..b794751ecab 100644 --- a/lisp/help.el +++ b/lisp/help.el @@ -695,7 +695,7 @@ Returns a list of the form (BRIEF-DESC DEFN EVENT MOUSE-MSG)." (mouse-msg (if (or (memq 'click modifiers) (memq 'down modifiers) (memq 'drag modifiers)) " at that spot" "")) - (defn (key-binding key t))) + (defn (save-excursion (mouse-set-point event) (key-binding key t)))) ;; Handle the case where we faked an entry in "Select and Paste" menu. (when (and (eq defn nil) (stringp (aref key (1- (length key)))) diff --git a/lisp/mouse.el b/lisp/mouse.el index d80b241af52..5d4e05fa25e 100644 --- a/lisp/mouse.el +++ b/lisp/mouse.el @@ -328,7 +328,7 @@ the function `context-menu-filter-function'." ;; Remove duplicate separators (let ((l menu)) - (while l + (while (consp l) (when (and (equal (cdr-safe (car l)) menu-bar-separator) (equal (cdr-safe (cadr l)) menu-bar-separator)) (setcdr l (cddr l)))