Subject: bug#79319: [PATCH] * lisp/vc/vc-dispatcher.el (vc-buffer-sync): Check buffer-file-name

From: Sean Whitton <[email-masked]>
Date: Sun, 31 Aug 2025 16:38:58 +0100

Hello,

On Sat 30 Aug 2025 at 03:46am GMT, Lin Sun wrote:

> From: Sean Whitton <[email-masked]>
> Sent: Thursday, August 28, 2025 01:57 AM
>>> Hi,
>>>
>>> I got an error when try to revert a buffer:
>>> vc-revert: Wrong type argument: stringp, nil
>>>
>>> Here is the backtrace:
>>> Debugger entered--Lisp error: (wrong-type-argument stringp nil)
>>>   vc-buffer-sync(nil)
>>>   vc-revert()
>>>   funcall-interactively(vc-revert)
>>>   command-execute(vc-revert)
>>>
>>>
>>> It caused by reverting a buffer which has no file name (like create a
>>> buffer but not saving it).
>>>
>>> This patch will check the `` bebuffer-file-name` before call subsequent function.
>>> Please help review the patch, thanks
>>
>>I think that vc-revert should probably error out sooner for
>>non-file-visiting buffers, before it gets to calling vc-buffer-sync.
>
> With this patch, emacs will give user friendly message: "File is not under version control".
>
> Without the patch, it gives an unexpected error message "Wrong type argument: stringp, nil".

I just installed a couple of fixes to vc-revert.  Do you think this
solves the original problem, or are further changes needed?  Thanks.

-- 
Sean Whitton