GNU bug report logs - #66382
29.1; Prefixed find-file-at-point fails when ido-mode is active.

Previous Next

Package: emacs;

Reported by: Stéphane Soppera <soppera <at> google.com>

Date: Sat, 7 Oct 2023 01:28:02 UTC

Severity: normal

Found in version 29.1

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 66382 in the body.
You can then email your comments to 66382 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#66382; Package emacs. (Sat, 07 Oct 2023 01:28:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Stéphane Soppera <soppera <at> google.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Sat, 07 Oct 2023 01:28:02 GMT) Full text and rfc822 format available.

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

From: Stéphane Soppera <soppera <at> google.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.1; Prefixed find-file-at-point fails when ido-mode is active.
Date: Fri, 6 Oct 2023 20:41:39 +0200
[Message part 1 (text/plain, inline)]
Recipe to reproduce:

  emacs -Q
  M-x ido-mode
  M-x ffap-bindings
  C-u M-x find-file-at-point RET

(any file can be used; the default `~/` on Unix works)

This fails with:

  apply: Wrong number of arguments: #<subr ido--ffap-find-file>, 2

After doing M-x toggle-debug-on-error, the full stack is:

  Debugger entered--Lisp error: (wrong-number-of-arguments #<subr
ido--ffap-find-file> 2)
      ido--ffap-find-file("~/" t)
      apply(ido--ffap-find-file ("~/" t))
      #f(advice ido--ffap-find-file :override find-file)("~/" t)
      funcall-interactively(#f(advice ido--ffap-find-file :override
find-file) "~/" t)
      find-file-at-point()
      funcall-interactively(find-file-at-point)
      command-execute(find-file-at-point record)
      execute-extended-command((4) "find-file-at-point" nil)
      funcall-interactively(execute-extended-command (4)
"find-file-at-point" nil)
      command-execute(execute-extended-command)

This regression seems to come from `(call-interactively
ffap-file-finder)` with `(advice ido--ffap-find-file :override
find-file)`. Since `ido--ffap-find-file` is not interactive, the
`interactive` of `find-file` is used, which uses `find-file-read-args`
which returns two arguments and not simply one.

The function `ido--ffap-find-file` was added to fix bug #50279.

In GNU Emacs 29.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.37,
 cairo version 1.16.0) of 2023-09-04, modified by Debian built on

-- 
Stéphane SOPPERA
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#66382; Package emacs. (Sat, 07 Oct 2023 06:49:02 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Stéphane Soppera <soppera <at> google.com>
Cc: 66382 <at> debbugs.gnu.org
Subject: Re: bug#66382: 29.1;
 Prefixed find-file-at-point fails when ido-mode is active.
Date: Sat, 07 Oct 2023 09:47:56 +0300
> Date: Fri, 6 Oct 2023 20:41:39 +0200
> From:  Stéphane Soppera via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
> 
> Recipe to reproduce:
> 
>   emacs -Q
>   M-x ido-mode
>   M-x ffap-bindings
>   C-u M-x find-file-at-point RET
> 
> (any file can be used; the default `~/` on Unix works)
> 
> This fails with:
> 
>   apply: Wrong number of arguments: #<subr ido--ffap-find-file>, 2
> 
> After doing M-x toggle-debug-on-error, the full stack is:
> 
>   Debugger entered--Lisp error: (wrong-number-of-arguments #<subr ido--ffap-find-file> 2)
>       ido--ffap-find-file("~/" t)
>       apply(ido--ffap-find-file ("~/" t))
>       #f(advice ido--ffap-find-file :override find-file)("~/" t)
>       funcall-interactively(#f(advice ido--ffap-find-file :override find-file) "~/" t)
>       find-file-at-point()
>       funcall-interactively(find-file-at-point)
>       command-execute(find-file-at-point record)
>       execute-extended-command((4) "find-file-at-point" nil)
>       funcall-interactively(execute-extended-command (4) "find-file-at-point" nil)
>       command-execute(execute-extended-command)
> 
> This regression seems to come from `(call-interactively
> ffap-file-finder)` with `(advice ido--ffap-find-file :override
> find-file)`. Since `ido--ffap-find-file` is not interactive, the
> `interactive` of `find-file` is used, which uses `find-file-read-args`
> which returns two arguments and not simply one.
> 
> The function `ido--ffap-find-file` was added to fix bug #50279.

Thanks, should be fixed now on the emacs-29 branch.




Reply sent to Eli Zaretskii <eliz <at> gnu.org>:
You have taken responsibility. (Sat, 14 Oct 2023 07:34:02 GMT) Full text and rfc822 format available.

Notification sent to Stéphane Soppera <soppera <at> google.com>:
bug acknowledged by developer. (Sat, 14 Oct 2023 07:34:02 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: soppera <at> google.com
Cc: 66382-done <at> debbugs.gnu.org
Subject: Re: bug#66382: 29.1;
 Prefixed find-file-at-point fails when ido-mode is active.
Date: Sat, 14 Oct 2023 10:32:58 +0300
> Cc: 66382 <at> debbugs.gnu.org
> Date: Sat, 07 Oct 2023 09:47:56 +0300
> From: Eli Zaretskii <eliz <at> gnu.org>
> 
> > Date: Fri, 6 Oct 2023 20:41:39 +0200
> > From:  Stéphane Soppera via "Bug reports for GNU Emacs,
> >  the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
> > 
> > Recipe to reproduce:
> > 
> >   emacs -Q
> >   M-x ido-mode
> >   M-x ffap-bindings
> >   C-u M-x find-file-at-point RET
> > 
> > (any file can be used; the default `~/` on Unix works)
> > 
> > This fails with:
> > 
> >   apply: Wrong number of arguments: #<subr ido--ffap-find-file>, 2
> > 
> > After doing M-x toggle-debug-on-error, the full stack is:
> > 
> >   Debugger entered--Lisp error: (wrong-number-of-arguments #<subr ido--ffap-find-file> 2)
> >       ido--ffap-find-file("~/" t)
> >       apply(ido--ffap-find-file ("~/" t))
> >       #f(advice ido--ffap-find-file :override find-file)("~/" t)
> >       funcall-interactively(#f(advice ido--ffap-find-file :override find-file) "~/" t)
> >       find-file-at-point()
> >       funcall-interactively(find-file-at-point)
> >       command-execute(find-file-at-point record)
> >       execute-extended-command((4) "find-file-at-point" nil)
> >       funcall-interactively(execute-extended-command (4) "find-file-at-point" nil)
> >       command-execute(execute-extended-command)
> > 
> > This regression seems to come from `(call-interactively
> > ffap-file-finder)` with `(advice ido--ffap-find-file :override
> > find-file)`. Since `ido--ffap-find-file` is not interactive, the
> > `interactive` of `find-file` is used, which uses `find-file-read-args`
> > which returns two arguments and not simply one.
> > 
> > The function `ido--ffap-find-file` was added to fix bug #50279.
> 
> Thanks, should be fixed now on the emacs-29 branch.

No further comments in a week, so I conclude the bug was indeed
solved, and I'm closing it.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#66382; Package emacs. (Mon, 16 Oct 2023 09:53:02 GMT) Full text and rfc822 format available.

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

From: Stéphane Soppera <soppera <at> google.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 66382-done <at> debbugs.gnu.org
Subject: Re: bug#66382: 29.1; Prefixed find-file-at-point fails when ido-mode
 is active.
Date: Mon, 16 Oct 2023 11:51:47 +0200
[Message part 1 (text/plain, inline)]
Thanks for the fix!
Since there was no question in the previous message I hesitated commenting
again.

On Sat, Oct 14, 2023 at 9:32 AM Eli Zaretskii <eliz <at> gnu.org> wrote:

> > Cc: 66382 <at> debbugs.gnu.org
> > Date: Sat, 07 Oct 2023 09:47:56 +0300
> > From: Eli Zaretskii <eliz <at> gnu.org>
> >
> > > Date: Fri, 6 Oct 2023 20:41:39 +0200
> > > From:  Stéphane Soppera via "Bug reports for GNU Emacs,
> > >  the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
> > >
> > > Recipe to reproduce:
> > >
> > >   emacs -Q
> > >   M-x ido-mode
> > >   M-x ffap-bindings
> > >   C-u M-x find-file-at-point RET
> > >
> > > (any file can be used; the default `~/` on Unix works)
> > >
> > > This fails with:
> > >
> > >   apply: Wrong number of arguments: #<subr ido--ffap-find-file>, 2
> > >
> > > After doing M-x toggle-debug-on-error, the full stack is:
> > >
> > >   Debugger entered--Lisp error: (wrong-number-of-arguments #<subr
> ido--ffap-find-file> 2)
> > >       ido--ffap-find-file("~/" t)
> > >       apply(ido--ffap-find-file ("~/" t))
> > >       #f(advice ido--ffap-find-file :override find-file)("~/" t)
> > >       funcall-interactively(#f(advice ido--ffap-find-file :override
> find-file) "~/" t)
> > >       find-file-at-point()
> > >       funcall-interactively(find-file-at-point)
> > >       command-execute(find-file-at-point record)
> > >       execute-extended-command((4) "find-file-at-point" nil)
> > >       funcall-interactively(execute-extended-command (4)
> "find-file-at-point" nil)
> > >       command-execute(execute-extended-command)
> > >
> > > This regression seems to come from `(call-interactively
> > > ffap-file-finder)` with `(advice ido--ffap-find-file :override
> > > find-file)`. Since `ido--ffap-find-file` is not interactive, the
> > > `interactive` of `find-file` is used, which uses `find-file-read-args`
> > > which returns two arguments and not simply one.
> > >
> > > The function `ido--ffap-find-file` was added to fix bug #50279.
> >
> > Thanks, should be fixed now on the emacs-29 branch.
>
> No further comments in a week, so I conclude the bug was indeed
> solved, and I'm closing it.
>


-- 
Stéphane
[Message part 2 (text/html, inline)]

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

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

Previous Next


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