diff options
| author | Paul Eggert <eggert@twinsun.com> | 1993-06-30 21:35:59 +0000 | 
|---|---|---|
| committer | Paul Eggert <eggert@twinsun.com> | 1993-06-30 21:35:59 +0000 | 
| commit | 4b40fdea8fa54bdbe3824daeaa27dbacaae040a2 (patch) | |
| tree | de3e61a56ac7cbe4af3c75d24ff834b80542d4a5 /lisp | |
| parent | 66f55a9d0cc58190f9521809d6aa37bb7884ddce (diff) | |
| download | emacs-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.el | 29 | 
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. | 
