Subject: bug#34949: 27.0.50; Docstring of `vc-deduce-fileset' incomplete

From: Dmitry Gutov <[email-masked]>
Date: Fri, 21 Feb 2020 02:16:28 +0200

On 19.02.2020 1:36, Juri Linkov wrote:

>> You can check out what diff-hl-dired does in this regard (and it does use
>> the dir-status-files command), though you would need to do something else
>> than its merging logic.
> 
> Thanks, I use diff-hl-dired, but not realized it relies on dir-status-files.
> Maybe dir-status-files could be simplified, so that it wouldn't require
> a special buffer to be current, and could be called in any buffer,
> but this simplification is not much needed.

I'd rather not change the calling convention of existing, old backend 
actions without solid necessity.

>> That still leaves the downside (compared to VC-Dir) of being unable to
>> select individual files in subdirectories, but that's not fixable, I guess.
> 
> When calling the already supported ‘C-x v =’ (vc-diff) on a subdirectory
> in Dired, it operates on all modified files, so it makes sense to commit
> exactly the same files whose diffs are displayed in the *vc-diff* buffer.

Not exactly my style, but okay.

>> I think the only possible problem here is that lambda is invoked
>> asynchronously. But we can sleep while waiting for it.
> 
> Would it be possible to call dir-status-files synchronously?

I think when we discussed this once, the "ideal" change would be for 
such actions to return "process" objects, which could be then consumed 
either synchronously or synchronously by the caller. But that's far off.

Until then, calling sleep-for in a loop should get us close enough.