Subject: bug#52507: [PATCH] Option for vc-delete-file to keep file on disk

From: Ashwin Kafle <[email-masked]>
Date: Wed, 15 Dec 2021 17:41:44 +0000

Juri Linkov <[email-masked]> writes:

>> -  (interactive (list (read-file-name "VC delete file: " nil
>> -                                     (when (vc-backend buffer-file-name)
>> -                                       buffer-file-name)
>> -                                     t)))
>> +  (interactive "f\nP")
>
> I wonder why no prompt?  You can add `current-prefix-arg' to the
> interactive list to keep the existing prompt.

Thanks, I didn't knew about that. 

>
>> +	(let ((backup-inhibited nil)
>> + ;; if you don't set this, then for some reason, the file is never
>> brought back
>> +              (backup-by-copying t))
>
> I remember having the same problem while improving `vc-rename-file'.
> To solve the problem, it required adding `vc-file-clearprops'.
> Maybe it could here as well?

There was a call to vc-file-clearprops later. I moved that earlier
before backup and that didn't seem to work. 

>
>> -    (vc-resynch-buffer file nil t)))
>> +    (vc-resynch-buffer file keep-file t)))
>
> It seems vc-resynch-window already uses `vc-file-clearprops'
> when `keep-file' is specified, but also on some more conditions.

I'm sorry, but I didn't really understand the above. I don't really know
elisp to be honest.