GNU bug report logs -
#65058
30.0.50; `find-function' can find wrong function due to implicit completion while exiting minibuffer
Previous Next
Full log
View this message in rfc822 format
> Date: Fri, 4 Aug 2023 21:46:12 +0200
> From: Jens Schmidt via "Bug reports for GNU Emacs,
> the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
>
> Start from emacs -Q
>
> M-x find-function RET shell-mode RET
>
> Pops you to sh-mode. Or
>
> M-x find-function RET vc-create-repo RET
>
> Pops to vc-git-create-repo.
>
> Which can be confusing.
>
> Maybe completion in `find-function-read' should be done like this:
>
> diff --git a/lisp/emacs-lisp/find-func.el b/lisp/emacs-lisp/find-func.el
> index bf890fc35a9..d393ccc759a 100644
> --- a/lisp/emacs-lisp/find-func.el
> +++ b/lisp/emacs-lisp/find-func.el
> @@ -591,7 +591,7 @@ find-function-read
> (list (intern (completing-read
> (format-prompt "Find %s" symb prompt-type)
> obarray predicate
> - t nil nil (and symb (symbol-name symb)))))))
> + 'lambda nil nil (and symb (symbol-name symb)))))))
>
> (defun find-function-do-it (symbol type switch-fn)
> "Find Emacs Lisp SYMBOL in a buffer and display it.
>
> Ripped the symbol `lambda' from the completion of `load-file', not sure
> whether there is any better symbol.
>
> Present in Emacs 29 as well.
Stefan, any comments (to the problem and the proposed solution)?
This bug report was last modified 1 year and 284 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.