]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix default-directory in changeset diffs after vc-print-log
authorDmitry Gutov <dgutov@yandex.ru>
Fri, 31 Jul 2015 02:52:53 +0000 (05:52 +0300)
committerDmitry Gutov <dgutov@yandex.ru>
Fri, 31 Jul 2015 02:53:14 +0000 (05:53 +0300)
* lisp/vc/log-view.el (log-view-diff-common): Move the
revision-granularity check back into log-view-diff-changeset.
(log-view-diff-changeset): Bind default-directory to the current
VC root.

lisp/vc/log-view.el

index 19bbc45f927cb6e9214c51f7a6d3ab505f0eeec2..f1b57109e331654b81d1e9e941d626bb96c914f4 100644 (file)
@@ -607,13 +607,12 @@ considered file(s)."
   (interactive
    (list (if (use-region-p) (region-beginning) (point))
          (if (use-region-p) (region-end) (point))))
-  (log-view-diff-common beg end t))
+  (when (eq (vc-call-backend log-view-vc-backend 'revision-granularity) 'file)
+    (error "The %s backend does not support changeset diffs" log-view-vc-backend))
+  (let ((default-directory (vc-root-dir)))
+    (log-view-diff-common beg end t)))
 
 (defun log-view-diff-common (beg end &optional whole-changeset)
-  (when (and whole-changeset
-             (eq (vc-call-backend log-view-vc-backend 'revision-granularity)
-                 'file))
-    (error "The %s backend does not support changeset diffs" log-view-vc-backend))
   (let ((to (log-view-current-tag beg))
         (fr (log-view-current-tag end)))
     (when (string-equal fr to)