summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorPaul Eggert <eggert@twinsun.com>1993-06-30 21:35:59 +0000
committerPaul Eggert <eggert@twinsun.com>1993-06-30 21:35:59 +0000
commit4b40fdea8fa54bdbe3824daeaa27dbacaae040a2 (patch)
treede3e61a56ac7cbe4af3c75d24ff834b80542d4a5 /lisp
parent66f55a9d0cc58190f9521809d6aa37bb7884ddce (diff)
downloademacs-4b40fdea8fa54bdbe3824daeaa27dbacaae040a2.tar.gz
(vc-update-change-log): Ensure that file names inserted into a ChangeLog
are relative to that ChangeLog.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/vc.el29
1 files changed, 23 insertions, 6 deletions
diff --git a/lisp/vc.el b/lisp/vc.el
index 27490df9b9d..01b8b26d3bc 100644
--- a/lisp/vc.el
+++ b/lisp/vc.el
@@ -1115,6 +1115,7 @@ A prefix argument means do not revert the buffer afterwards."
The mark is left at the end of the text prepended to the change log.
With prefix arg of C-u, only find log entries for the current buffer's file.
With any numeric prefix arg, find log entries for all files currently visited.
+Otherwise, find log entries for all registered files in the default directory.
From a program, any arguments are passed to the `rcs2log' script."
(interactive
(cond ((consp current-prefix-arg) ;C-u
@@ -1126,9 +1127,18 @@ From a program, any arguments are passed to the `rcs2log' script."
(while buffers
(setq file (buffer-file-name (car buffers)))
(and file (vc-backend-deduce file)
- (setq files (cons (file-relative-name file) files)))
+ (setq files (cons file files)))
(setq buffers (cdr buffers)))
- files))))
+ files))
+ (t
+ (let ((RCS (concat default-directory "RCS")))
+ (and (file-directory-p RCS)
+ (mapcar (function
+ (lambda (f)
+ (if (string-match "\\(.*\\),v$" f)
+ (substring f 0 (match-end 1))
+ f)))
+ (directory-files RCS nil "...\\|^[^.]\\|^.[^.]")))))))
(let ((odefault default-directory))
(find-file-other-window (find-change-log))
(barf-if-buffer-read-only)
@@ -1137,10 +1147,17 @@ From a program, any arguments are passed to the `rcs2log' script."
(goto-char (point-min))
(push-mark)
(message "Computing change log entries...")
- (let ((default-directory odefault))
- (message "Computing change log entries... %s"
- (if (eq 0 (apply 'call-process "rcs2log" nil t nil args))
- "done" "failed")))))
+ (message "Computing change log entries... %s"
+ (if (or (null args)
+ (eq 0 (apply 'call-process "rcs2log" nil t nil
+ (mapcar (function
+ (lambda (f)
+ (file-relative-name
+ (if (file-name-absolute-p f)
+ f
+ (concat odefault f)))))
+ args))))
+ "done" "failed"))))
;; Functions for querying the master and lock files.