[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#9923: 24.0.91; `where-is' does not find recentf menu items (cmds, no
From: |
Stefan Monnier |
Subject: |
bug#9923: 24.0.91; `where-is' does not find recentf menu items (cmds, not files) |
Date: |
Thu, 30 Sep 2021 08:43:21 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
> Recently clicking the context menu at the end of the buffer raises an error,
> and during the short time period before the problem was noticed and fixed,
> the error in one context menu item broke completion of M-x.
> It might surprise the users why an error in context menus
> affects such unrelated things. So maybe such patch makes sense
> to prevent M-x completion from breaking?
>
> diff --git a/lisp/simple.el b/lisp/simple.el
> index b0ff4236e1..5581d41356 100644
> --- a/lisp/simple.el
> +++ b/lisp/simple.el
> @@ -2117,7 +2117,9 @@ read-extended-command--affixation
> (mapcar
> (lambda (command-name)
> (let* ((fun (and (stringp command-name) (intern-soft command-name)))
> - (binding (where-is-internal fun overriding-local-map t))
> + (binding (unless (eq fun 'ignore)
> + ;; Ignore errors in context-menu.
> + (where-is-internal fun overriding-local-map t)))
I think adding code specific to context-menu in
`read-extended-command--affixation` is a bad idea.
So maybe we should add an `with-demoted-errors` and just mention
context-menu as an example of the kind of errors we want to disregard.
Or maybe we should investigate why `ignore` causes an error here?
Stefan