GNU bug report logs -
#66382
29.1; Prefixed find-file-at-point fails when ido-mode is active.
Previous Next
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.
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):
[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):
> 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):
> 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):
[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.