Subject: Re: bug#66382: 29.1; Prefixed find-file-at-point fails when ido-mode is active.

From: Eli Zaretskii <[email-masked]>
Date: Sat, 14 Oct 2023 10:32:58 +0300

> Cc: [email-masked]
> Date: Sat, 07 Oct 2023 09:47:56 +0300
> From: Eli Zaretskii <[email-masked]>
> 
> > 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" <[email-masked]>
> > 
> > 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.