More not-state-changing vc commands can be used from non-file buffers

* lisp/vc/vc.el (vc-deduce-fileset): Instead of checking for
log-view-mode, check for '(not buffer-file-name)' before trying to
get the backend for default-directory.  Remove the branch that
checks for '(not buffer-file-name)' and signals the error because
vc-responsible-backend used in previous condition already signals
its error.  (Bug#41974)
This commit is contained in:
Juri Linkov 2020-06-24 02:54:30 +03:00
parent 35e881c530
commit 4e04ca847f
2 changed files with 4 additions and 3 deletions

View file

@ -173,6 +173,9 @@ directories with the help of new command 'dired-vc-next-action'.
** Change Logs and VC
*** More vc commands that don't change VC state can be used from non-file buffers.
Such non-file buffers should have default-directory under vc.
*** New command 'vc-dir-root' uses the root directory without asking.
*** New commands 'vc-dir-mark-registered-files' (bound to '* r') and

View file

@ -1074,11 +1074,9 @@ BEWARE: this function may change the current buffer."
(progn ;FIXME: Why not `with-current-buffer'? --Stef.
(set-buffer vc-parent-buffer)
(vc-deduce-fileset not-state-changing allow-unregistered state-model-only-files)))
((and (derived-mode-p 'log-view-mode)
((and (not buffer-file-name)
(setq backend (vc-responsible-backend default-directory)))
(list backend nil))
((not buffer-file-name)
(error "Buffer %s is not associated with a file" (buffer-name)))
((and allow-unregistered (not (vc-registered buffer-file-name)))
(if state-model-only-files
(list (vc-backend-for-registration (buffer-file-name))