emacs-devel
[Top][All Lists]
Advanced

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

Re: make project--find-in-file generic, add interactive filename to proj


From: Stephen Leake
Subject: Re: make project--find-in-file generic, add interactive filename to project-find-file
Date: Thu, 28 Jan 2016 04:11:56 -0600
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (windows-nt)

Dmitry Gutov <address@hidden> writes:

> On 01/28/2016 04:04 AM, Stephen Leake wrote:
>> Any objections to the attached patch?
>
> A couple:
>
> - IIRC, using INITIAL-INPUT argument is semi-deprecated. Using DEFAULT
> is preferable, 

I was not aware of M-n (more below).

> and then you don't need to make that value depend on
> current-prefix-arg. 

Actually, I did not intend to make it depend on current-prefix-arg, as
the doc string does not mention that; I forgot to fix that when I copied
from my current code.

On the other hand, it makes sense to give the user some control over
whether the file at point is used.

In any case, we can call `thing-at-point' in the
completing-read call for either INITIAL-INPUT or DEFAULT.

> We can always set the default input, and if the user wants to use it,
> they will press M-n. 

I was not aware of that use of M-n; that is a good alternative to
current-prefix-arg.

However, the default still does not show anywhere;
we should add it to the prompt.

> And I see no good reason to thread it through the command's function
> arguments. Why not do it like in the patch at the bottom?

Because there are also times when calling `project-find-file' from lisp
with a filename makes sense. But that code can call
project--find-file-in, instead of project-find-file.

> - More importantly, the new generic function should not do too much.
> It should return a completion table, which can dispatch to ede,
> ada-mode, or any other facility. I believe we've went over this a
> couple of times already.

So instead of computing `table' in project--find-file-in, it would
call (project--file-completion-table dirs project). The default
implementation of `project--file-completion-table' would be the code
using `find-program'.

I'll give that a try.

-- 
-- Stephe



reply via email to

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