]> git.eshelyaron.com Git - emacs.git/commitdiff
(vc-svn-print-log, vc-svn-diff): Add optional BUFFER arg.
authorJuanma Barranquero <lekktu@gmail.com>
Tue, 20 Apr 2004 16:49:26 +0000 (16:49 +0000)
committerJuanma Barranquero <lekktu@gmail.com>
Tue, 20 Apr 2004 16:49:26 +0000 (16:49 +0000)
Copied from Andre Spiegel's patch of 2004-03-21.

lisp/ChangeLog
lisp/vc-svn.el

index 8ac677f025f6c5bbc6cf08adb54fcee622819ff8..232173168c0d04f9b363960c36a56ab7f101c3be 100644 (file)
@@ -1,5 +1,8 @@
 2004-04-20  Juanma Barranquero  <lektu@terra.es>
 
+       * vc-svn.el (vc-svn-print-log, vc-svn-diff): Add optional BUFFER
+       arg.  Copied from Andre Spiegel's patch of 2004-03-21.
+
        * calendar/time-date.el (time-to-day-in-year): Fix docstring.
 
 2004-04-20  Kenichi Handa  <handa@m17n.org>
index 08af8f01977a05200f23b4afb09cc5a4fc19d527..4db9788cc3b054658d95f4e575d56417a715f1c1 100644 (file)
@@ -334,21 +334,22 @@ The changes are between FIRST-VERSION and SECOND-VERSION."
 ;;; History functions
 ;;;
 
-(defun vc-svn-print-log (file)
+(defun vc-svn-print-log (file &optional buffer)
   "Get change log associated with FILE."
   (save-current-buffer
-    (vc-setup-buffer nil)
+    (vc-setup-buffer buffer)
     (let ((inhibit-read-only t))
       (goto-char (point-min))
       ;; Add a line to tell log-view-mode what file this is.
       (insert "Working file: " (file-relative-name file) "\n"))
     (vc-svn-command
-     t
+     buffer
      (if (and (vc-stay-local-p file) (fboundp 'start-process)) 'async 0)
      file "log")))
 
-(defun vc-svn-diff (file &optional oldvers newvers)
+(defun vc-svn-diff (file &optional oldvers newvers buffer)
   "Get a difference report using SVN between two versions of FILE."
+  (unless buffer (setq buffer "*vc-diff*"))
   (if (string= (vc-workfile-version file) "0")
       ;; This file is added but not yet committed; there is no master file.
       (if (or oldvers newvers)
@@ -356,7 +357,7 @@ The changes are between FIRST-VERSION and SECOND-VERSION."
        ;; We regard this as "changed".
        ;; Diff it against /dev/null.
        ;; Note: this is NOT a "svn diff".
-       (apply 'vc-do-command "*vc-diff*"
+       (apply 'vc-do-command buffer
               1 "diff" file
               (append (vc-switches nil 'diff) '("/dev/null")))
        ;; Even if it's empty, it's locally modified.
@@ -365,7 +366,7 @@ The changes are between FIRST-VERSION and SECOND-VERSION."
           (async (and (vc-stay-local-p file)
                       (or oldvers newvers) ; Svn diffs those locally.
                       (fboundp 'start-process))))
-      (apply 'vc-svn-command "*vc-diff*"
+      (apply 'vc-svn-command buffer
             (if async 'async 0)
             file "diff"
             (append
@@ -377,7 +378,7 @@ The changes are between FIRST-VERSION and SECOND-VERSION."
       (if async 1                    ; async diff => pessimistic assumption
        ;; For some reason `svn diff' does not return a useful
        ;; status w.r.t whether the diff was empty or not.
-       (buffer-size (get-buffer "*vc-diff*"))))))
+       (buffer-size (get-buffer buffer))))))
 
 (defun vc-svn-diff-tree (dir &optional rev1 rev2)
   "Diff all files at and below DIR."