Subject: bug#9923: 24.0.91; `where-is' does not find recentf menu items (cmds, not files)

From: Juri Linkov <[email-masked]>
Date: Tue, 31 Aug 2021 09:41:57 +0300

>> This patch fixes the error, but still e.g. in Info buffer
>> typing 'C-h m q' moves point in the Info buffer to some fixed position
>> (maybe related to a position in *Help* buffer), i.e. still something is wrong.
>
> Hm...  it doesn't seem like anything in `context-menu-map' should be
> moving point (unless there's a bug in some of those functions it's
> calling, which is possible)...

Actually, this was caused by thing-at-mouse that uses mouse-set-point
in bug#50256 (a detailed description added in bug#50256).

But regarding this bug#9923, and the question about avoiding :filter
evaluation for context menus - since the context menu is bound to 'ignore':

  `(menu-item ,(purecopy "Context Menu") ignore
              :filter (lambda (_) (context-menu-map)))

does it make sense to ignore 'ignore' like in this patch?

diff --git a/lisp/help-fns.el b/lisp/help-fns.el
index 2c7956d968..85f305617d 100644
--- a/lisp/help-fns.el
+++ b/lisp/help-fns.el
@@ -1898,6 +1898,8 @@ help-fns--list-local-commands
     (mapatoms
      (lambda (sym)
        (when (and (commandp sym)
+                  ;; Ignore 'ignore'.
+                  (not (eq sym 'ignore))
                   ;; Ignore aliases.
                   (not (symbolp (symbol-function sym)))
                   ;; Ignore everything bound.