]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix default-directory for vc-root-diff.
authorDan Nicolaescu <dann@ics.uci.edu>
Wed, 7 Apr 2010 04:14:56 +0000 (21:14 -0700)
committerDan Nicolaescu <dann@ics.uci.edu>
Wed, 7 Apr 2010 04:14:56 +0000 (21:14 -0700)
* vc.el (vc-root-diff): Bind default-directory to the root
directory for the diff command.

lisp/ChangeLog
lisp/vc.el

index 5f50546468b494f86d9e5f03d8b979c075a807d2..1fda3acf555ef1bcc2982880b716282c7e453a51 100644 (file)
@@ -1,3 +1,9 @@
+2010-04-07  Dan Nicolaescu  <dann@ics.uci.edu>
+
+       Fix default-directory for vc-root-diff.
+       * vc.el (vc-root-diff): Bind default-directory to the root
+       directory for the diff command.
+
 2010-04-07  Michael McNamara  <mac@mail.brushroad.com>
 
         * verilog-mode.el (verilog-forward-sexp, verilog-calc-1): Support
index 142a1508162da9f9737ff9b78fa829f12681dd5c..aef5fad12e1bc4bfea4adba9ec09abb631640edb 100644 (file)
@@ -1642,9 +1642,14 @@ saving the buffer."
        (error "Buffer is not version controlled"))
       (setq rootdir (vc-call-backend backend 'root default-directory))
       (setq working-revision (vc-working-revision rootdir))
-      (vc-diff-internal
-       t (list backend (list rootdir) working-revision) nil nil
-       (called-interactively-p 'interactive)))))
+      ;; VC diff for the root directory produces output that is
+      ;; relative to it.  Bind default-directory to the root directory
+      ;; here, this way the *vc-diff* buffer is setup correctly, so
+      ;; relative file names work.
+      (let ((default-directory rootdir))
+       (vc-diff-internal
+        t (list backend (list rootdir) working-revision) nil nil
+        (called-interactively-p 'interactive))))))
 
 ;;;###autoload
 (defun vc-revision-other-window (rev)