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

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 14 Oct 2023 07:34:02 +0000

Your bug report

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

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
66382: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66382
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#66382: 29.1; Prefixed find-file-at-point fails when ido-mode is active.
From: Eli Zaretskii <[email-masked]>
To: [email-masked]
Cc: [email-masked]
Date: Sat, 14 Oct 2023 10:32:58 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

> 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.

Subject: 29.1; Prefixed find-file-at-point fails when ido-mode is active.
From: Stéphane Soppera <[email-masked]>
To: [email-masked]
Date: Fri, 6 Oct 2023 20:41:39 +0200
List-Id: <debbugs-submit.debbugs.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.

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