emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 6b7e492: Support VC single file operations from Dir


From: Juri Linkov
Subject: [Emacs-diffs] master 6b7e492: Support VC single file operations from Dired (bug#32596).
Date: Wed, 7 Nov 2018 17:52:56 -0500 (EST)

branch: master
commit 6b7e492f6cf7fd2cb7e02320224a615952fffc58
Author: Juri Linkov <address@hidden>
Commit: Juri Linkov <address@hidden>

    Support VC single file operations from Dired (bug#32596).
    
    * lisp/vc/vc.el (vc-ensure-vc-buffer): Use dired-get-filename for 
dired-mode.
    Move error-checking outside of the last branch of cond.
    (vc-dired-deduce-fileset): Remove unused error signaling.
---
 lisp/vc/vc.el | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el
index 57bc3c2..dcfbf26 100644
--- a/lisp/vc/vc.el
+++ b/lisp/vc/vc.el
@@ -1061,27 +1061,27 @@ BEWARE: this function may change the current buffer."
      (t (error "File is not under version control")))))
 
 (defun vc-dired-deduce-fileset ()
-  (let ((backend (vc-responsible-backend default-directory)))
-    (unless backend (error "Directory not under VC"))
-    (list backend
-          (dired-map-over-marks (dired-get-filename nil t) nil))))
+  (list (vc-responsible-backend default-directory)
+        (dired-map-over-marks (dired-get-filename nil t) nil)))
 
 (defun vc-ensure-vc-buffer ()
   "Make sure that the current buffer visits a version-controlled file."
   (cond
    ((derived-mode-p 'vc-dir-mode)
     (set-buffer (find-file-noselect (vc-dir-current-file))))
+   ((derived-mode-p 'dired-mode)
+    (set-buffer (find-file-noselect (dired-get-filename))))
    (t
     (while (and vc-parent-buffer
                 (buffer-live-p vc-parent-buffer)
                ;; Avoid infinite looping when vc-parent-buffer and
                ;; current buffer are the same buffer.
                (not (eq vc-parent-buffer (current-buffer))))
-      (set-buffer vc-parent-buffer))
-    (if (not buffer-file-name)
-       (error "Buffer %s is not associated with a file" (buffer-name))
-      (unless (vc-backend buffer-file-name)
-       (error "File %s is not under version control" buffer-file-name))))))
+      (set-buffer vc-parent-buffer))))
+  (if (not buffer-file-name)
+      (error "Buffer %s is not associated with a file" (buffer-name))
+    (unless (vc-backend buffer-file-name)
+      (error "File %s is not under version control" buffer-file-name))))
 
 ;;; Support for the C-x v v command.
 ;; This is where all the single-file-oriented code from before the fileset



reply via email to

[Prev in Thread] Current Thread [Next in Thread]