GNU bug report logs - #65058
30.0.50; `find-function' can find wrong function due to implicit completion while exiting minibuffer

Previous Next

Package: emacs;

Reported by: Jens Schmidt <jschmidt4gnu <at> vodafonemail.de>

Date: Fri, 4 Aug 2023 19:47:01 UTC

Severity: normal

Found in version 30.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Jens Schmidt <jschmidt4gnu <at> vodafonemail.de>
To: 65058 <at> debbugs.gnu.org
Subject: bug#65058: 30.0.50; `find-function' can find wrong function due to implicit completion while exiting minibuffer
Date: Fri, 4 Aug 2023 21:46:12 +0200
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.




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.