emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#66382: closed (29.1; Prefixed find-file-at-point fails when ido-mode


From: GNU bug Tracking System
Subject: bug#66382: closed (29.1; Prefixed find-file-at-point fails when ido-mode is active.)
Date: Sat, 14 Oct 2023 07:34:02 +0000

Your message dated Sat, 14 Oct 2023 10:32:58 +0300
with message-id <83jzrpslp1.fsf@gnu.org>
and subject line Re: bug#66382: 29.1; Prefixed find-file-at-point fails when 
ido-mode is active.
has caused the debbugs.gnu.org bug report #66382,
regarding 29.1; Prefixed find-file-at-point fails when ido-mode is active.
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs@gnu.org.)


-- 
66382: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66382
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
--- Begin Message --- Subject: 29.1; Prefixed find-file-at-point fails when ido-mode is active. Date: Fri, 6 Oct 2023 20:41:39 +0200
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

--- End Message ---
--- Begin Message --- 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@debbugs.gnu.org
> Date: Sat, 07 Oct 2023 09:47:56 +0300
> From: Eli Zaretskii <eliz@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@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.


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]