* vc-rcs.el (vc-rcs-print-log-cleanup): ... here. New function.
(vc-rcs-print-log): Use it.
* vc-cvs.el (vc-cvs-print-log): Use vc-rcs-print-log-cleanup.
+2009-08-29 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * vc.el (vc-print-log-internal): Move RCS/CVS specific code ...
+
+ * vc-rcs.el (vc-rcs-print-log-cleanup): ... here. New function.
+ (vc-rcs-print-log): Use it.
+
+ * vc-cvs.el (vc-cvs-print-log): Use vc-rcs-print-log-cleanup.
+
2009-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
* files.el (get-free-disk-space): Use / for default-directory.
;;; History functions
;;;
+(declare-function vc-rcs-print-log-cleanup "vc-rcs" ())
+
(defun vc-cvs-print-log (files &optional buffer)
"Get change logs associated with FILES."
+ (require 'vc-rcs)
;; It's just the catenation of the individual logs.
(vc-cvs-command
buffer
(if (vc-stay-local-p files 'CVS) 'async 0)
- files "log"))
+ files "log")
+ (with-current-buffer buffer
+ (vc-exec-after (vc-rcs-print-log-cleanup))))
(defun vc-cvs-comment-history (file)
"Get comment history of a file."
;;; History functions
;;;
+(defun vc-rcs-print-log-cleanup ()
+ (let ((inhibit-read-only t))
+ (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))))))
+
(defun vc-rcs-print-log (files &optional buffer)
"Get change log associated with FILE. If FILE is a
directory the operation is applied to all registered files beneath it."
- (vc-do-command (or buffer "*vc*") 0 "rlog" (mapcar 'vc-name (vc-expand-dirs files))))
+ (vc-do-command (or buffer "*vc*") 0 "rlog" (mapcar 'vc-name (vc-expand-dirs files)))
+ (with-current-buffer (or buffer "*vc*")
+ (vc-rcs-print-log-cleanup)))
(defun vc-rcs-diff (files &optional oldvers newvers buffer)
"Get a difference report using RCS between two sets of files."
(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)