]> git.eshelyaron.com Git - emacs.git/commitdiff
More not-state-changing vc commands can be used from non-file buffers
authorJuri Linkov <juri@linkov.net>
Tue, 23 Jun 2020 23:54:30 +0000 (02:54 +0300)
committerJuri Linkov <juri@linkov.net>
Tue, 23 Jun 2020 23:54:30 +0000 (02:54 +0300)
* 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)

etc/NEWS
lisp/vc/vc.el

index d501c2ad872ee00d4d61e01608cb9ede6368619d..32ceec1d362db7426b8845b1e6a318f6db2d2375 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -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
index 9b12d4497859374451ba7bb171466e15e98885a0..65775f8e46edad37f445ff9c67e77f8e47354d45 100644 (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))