GNU bug report logs -
#79126
vc-switch-working-tree does not work if there is no matching file
Previous Next
Full log
Message #59 received at 79126 <at> debbugs.gnu.org (full text, mbox):
Sean Whitton <spwhitton <at> spwhitton.name> writes:
>
> On Wed 06 Aug 2025 at 06:15pm +02, Eshel Yaron wrote:
>>
>> Sean Whitton <spwhitton <at> spwhitton.name> writes:
>>>
>>> * lisp/progmodes/project.el (dired-current-directory): Declare.
>>> (project-find-matching-file): Handle Dired buffers (bug#79126).
>>
>> Any good reason to special-case Dired? Wouldn't it be nicer to have
>> Dired set project-find-matching-buffer-function appropriately, as I do
>> in my implementation with vc-switch-working-tree-function? :)
>
> Heh. I tried that first, but found myself duplicating code, so decided
> that folding it into project-find-matching-file was neatest.
I see. Note that if you stumbled upon such need to duplicate code,
others trying to use this variable to support additional buffers (say,
Shell buffers) will likely have similar difficulties. In other words,
it's an indication that the extension mechanism could be more convenient
or could benefit from some helper function(s) to avoid duplication.
>>> + (dirp (dired-current-directory))
>>
>> I don't think dired-current-directory is the right choice here. It does
>> the wrong thing when point is in a subdir added with 'i' (it gives you
>> the subdir, not the dir of the current buffer).
>
> This was deliberate. To me it seems desirable to look for the matching
> subdirectory. Sounds like you disagree?
It's nothing crucial, but IMO getting a different result depending on
the position of point in the Dired buffer is slightly non-intuitive.
Few will probably experience this difference in practice, so it doesn't
matter to much either way.
Best,
Eshel
This bug report was last modified 4 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.