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.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 65058 in the body.
You can then email your comments to 65058 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#65058; Package emacs. (Fri, 04 Aug 2023 19:47:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Jens Schmidt <jschmidt4gnu <at> vodafonemail.de>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Fri, 04 Aug 2023 19:47:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Jens Schmidt <jschmidt4gnu <at> vodafonemail.de>
To: bug-gnu-emacs <at> gnu.org
Subject: 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.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#65058; Package emacs. (Sat, 05 Aug 2023 05:35:02 GMT) Full text and rfc822 format available.

Message #8 received at 65058 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Jens Schmidt <jschmidt4gnu <at> vodafonemail.de>,
 Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 65058 <at> debbugs.gnu.org
Subject: Re: bug#65058: 30.0.50;
 `find-function' can find wrong function due to implicit completion
 while exiting minibuffer
Date: Sat, 05 Aug 2023 08:34:51 +0300
> 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)?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#65058; Package emacs. (Sat, 12 Aug 2023 06:49:01 GMT) Full text and rfc822 format available.

Message #11 received at 65058 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: monnier <at> iro.umontreal.ca
Cc: 65058 <at> debbugs.gnu.org, jschmidt4gnu <at> vodafonemail.de
Subject: Re: bug#65058: 30.0.50;
 `find-function' can find wrong function due to implicit completion
 while exiting minibuffer
Date: Sat, 12 Aug 2023 09:48:33 +0300
Ping!  Stefan, any comments?

> Cc: 65058 <at> debbugs.gnu.org
> Date: Sat, 05 Aug 2023 08:34:51 +0300
> From: Eli Zaretskii <eliz <at> gnu.org>
> 
> > 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)?
> 
> 
> 
> 




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#65058; Package emacs. (Sat, 12 Aug 2023 18:11:02 GMT) Full text and rfc822 format available.

Message #14 received at 65058 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 65058 <at> debbugs.gnu.org, jschmidt4gnu <at> vodafonemail.de
Subject: Re: bug#65058: 30.0.50; `find-function' can find wrong function due
 to implicit completion while exiting minibuffer
Date: Sat, 12 Aug 2023 14:10:01 -0400
> Ping!  Stefan, any comments?

The patch looks OK to me.


        Stefan





Reply sent to Eli Zaretskii <eliz <at> gnu.org>:
You have taken responsibility. (Sun, 13 Aug 2023 06:36:03 GMT) Full text and rfc822 format available.

Notification sent to Jens Schmidt <jschmidt4gnu <at> vodafonemail.de>:
bug acknowledged by developer. (Sun, 13 Aug 2023 06:36:03 GMT) Full text and rfc822 format available.

Message #19 received at 65058-done <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 65058-done <at> debbugs.gnu.org, jschmidt4gnu <at> vodafonemail.de
Subject: Re: bug#65058: 30.0.50; `find-function' can find wrong function due
 to implicit completion while exiting minibuffer
Date: Sun, 13 Aug 2023 09:35:33 +0300
> From: Stefan Monnier <monnier <at> iro.umontreal.ca>
> Cc: jschmidt4gnu <at> vodafonemail.de,  65058 <at> debbugs.gnu.org
> Date: Sat, 12 Aug 2023 14:10:01 -0400
> 
> > Ping!  Stefan, any comments?
> 
> The patch looks OK to me.

Thanks.  Installed on master, and closing the bug.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 10 Sep 2023 11:24:13 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 283 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.