[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#66382: 29.1; Prefixed find-file-at-point fails when ido-mode is acti
From: |
Eli Zaretskii |
Subject: |
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@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.