Subject: bug#66260: 29.0.92; project.el should support copying a file path relative to the project root

From: Dmitry Gutov <[email-masked]>
Date: Wed, 4 Oct 2023 00:17:34 +0300

On 03/10/2023 23:49, [email-masked] wrote:
> Dmitry Gutov <[email-masked]> writes:
>> On 02/10/2023 09:53, Juri Linkov wrote:
>>>>> 'C-x p w' does make sense as such, but it would be unfortunate if we
>>>>> find a more important command later which fits the 'w' mnemonics. Maybe
>>>>> 'C-x p W' would be a more conservative choice.
>>>> Or even "C-x p C-w".
>>> Or 'C-x p C-c' like 'c' in Info-mode-map for Info-copy-current-node-name.
>>
>> That one was probably made from the CUA user's standpoint.
>>
>> I sympathize, but even Info-mode-map has a 'w' binding (thanks to you,
>> looks like).
>>
>> So C-w or M-w seem like a better choice for the default bindings.
> 
> I don't think C-x p w is quite necessary.  But even if it was, I think
> there's a good other candidate for what it should do: copy the project
> root.  That would also be pretty useful.

Not necessary, but if more than one user likes that, I think we can 
dedicate the C-w binding for it.

> For example, I often move a patch between two projects by first
> rendering it in one project (with C-x v D), entering M-x cd
> other/project/root in the *vc-diff* buffer, and then applying the diff.
> If there was a quick way to get other/project/root, it would speed this
> up.

Depending on how often you do either thing, 'C-x p C-w' could copy the 
relative file name, and 'c-u C-x p C-w' could copy the root.

Or the latter action could be moved to 'C-x p C-S-w', for example (by 
analogy with C-x v D'.

> Sometimes I also run shell commands which need the project root.
> 
> I can always do C-x p D then copy the file name of that buffer, but
> that's about as painful as C-x C-j C-u C-u w, so if C-x C-j C-u C-u w is
> too cumbersome then it seems to me that so is C-x p D and copy.