]> git.eshelyaron.com Git - emacs.git/commitdiff
(vc-print-log-internal): New function, split out from ...
authorDan Nicolaescu <dann@ics.uci.edu>
Thu, 23 Jul 2009 05:21:34 +0000 (05:21 +0000)
committerDan Nicolaescu <dann@ics.uci.edu>
Thu, 23 Jul 2009 05:21:34 +0000 (05:21 +0000)
(vc-print-log): ... here.

lisp/ChangeLog
lisp/vc.el

index b0f249d105f573dafc83c1baf79921a9c9518be2..70b899c2f51a8b0362f2071cf9cf10e274036374 100644 (file)
@@ -1,5 +1,8 @@
 2009-07-22  Dan Nicolaescu  <dann@ics.uci.edu>
 
+       * vc.el (vc-print-log-internal): New function, split out from ...
+       (vc-print-log): ... here.
+
        * vc-git.el (vc-git-add-signoff): New variable.
        (vc-git-checkin): Use it.
        (vc-git-toggle-signoff): New function.
index d063c2c8abc6234bfc65150fd9d9f5a852cd9123..590787e019c2f72a94bd5378e17abdb9d231e550 100644 (file)
@@ -1815,6 +1815,35 @@ allowed and simply skipped)."
 
 ;; Miscellaneous other entry points
 
+(defun vc-print-log-internal (backend files working-revision)
+  ;; Don't switch to the output buffer before running the command,
+  ;; so that any buffer-local settings in the vc-controlled
+  ;; buffer can be accessed by the command.
+  (vc-call-backend backend 'print-log files "*vc-change-log*")
+  (pop-to-buffer "*vc-change-log*")
+  (vc-exec-after
+   `(let ((inhibit-read-only t))
+      (vc-call-backend ',backend 'log-view-mode)
+      (set (make-local-variable 'log-view-vc-backend) ',backend)
+      (set (make-local-variable 'log-view-vc-fileset) ',files)
+      
+      ;; FIXME: this seems to apply only to RCS/CVS, it doesn't quite
+      ;; belong here in the generic code.
+      (goto-char (point-max))
+      (forward-line -1)
+      (while (looking-at "=*\n")
+       (delete-char (- (match-end 0) (match-beginning 0)))
+       (forward-line -1))
+      (goto-char (point-min))
+      (when (looking-at "[\b\t\n\v\f\r ]+")
+       (delete-char (- (match-end 0) (match-beginning 0))))
+
+      (shrink-window-if-larger-than-buffer)
+      ;; move point to the log entry for the working revision
+      (vc-call-backend ',backend 'show-log-entry ',working-revision)
+      (setq vc-sentinel-movepoint (point))
+      (set-buffer-modified-p nil))))
+
 ;;;###autoload
 (defun vc-print-log (&optional working-revision)
   "List the change log of the current fileset in a window.
@@ -1824,28 +1853,7 @@ If WORKING-REVISION is non-nil, leave the point at that revision."
         (backend (car vc-fileset))
         (files (cadr vc-fileset))
         (working-revision (or working-revision (vc-working-revision (car files)))))
-    ;; Don't switch to the output buffer before running the command,
-    ;; so that any buffer-local settings in the vc-controlled
-    ;; buffer can be accessed by the command.
-    (vc-call-backend backend 'print-log files "*vc-change-log*")
-    (pop-to-buffer "*vc-change-log*")
-    (vc-exec-after
-     `(let ((inhibit-read-only t))
-       (vc-call-backend ',backend 'log-view-mode)
-       (set (make-local-variable 'log-view-vc-backend) ',backend)
-       (set (make-local-variable 'log-view-vc-fileset) ',files)
-       (goto-char (point-max)) (forward-line -1)
-       (while (looking-at "=*\n")
-         (delete-char (- (match-end 0) (match-beginning 0)))
-         (forward-line -1))
-       (goto-char (point-min))
-       (when (looking-at "[\b\t\n\v\f\r ]+")
-         (delete-char (- (match-end 0) (match-beginning 0))))
-       (shrink-window-if-larger-than-buffer)
-       ;; move point to the log entry for the working revision
-       (vc-call-backend ',backend 'show-log-entry ',working-revision)
-        (setq vc-sentinel-movepoint (point))
-        (set-buffer-modified-p nil)))))
+    (vc-print-log-internal backend files working-revision)))
 
 ;;;###autoload
 (defun vc-revert ()