Commit 4b40fdea authored by Paul Eggert's avatar Paul Eggert
Browse files

(vc-update-change-log): Ensure that file names inserted into a ChangeLog

are relative to that ChangeLog.
parent 66f55a9d
...@@ -1115,6 +1115,7 @@ A prefix argument means do not revert the buffer afterwards." ...@@ -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. 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 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. 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." From a program, any arguments are passed to the `rcs2log' script."
(interactive (interactive
(cond ((consp current-prefix-arg) ;C-u (cond ((consp current-prefix-arg) ;C-u
...@@ -1126,9 +1127,18 @@ From a program, any arguments are passed to the `rcs2log' script." ...@@ -1126,9 +1127,18 @@ From a program, any arguments are passed to the `rcs2log' script."
(while buffers (while buffers
(setq file (buffer-file-name (car buffers))) (setq file (buffer-file-name (car buffers)))
(and file (vc-backend-deduce file) (and file (vc-backend-deduce file)
(setq files (cons (file-relative-name file) files))) (setq files (cons file files)))
(setq buffers (cdr buffers))) (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)) (let ((odefault default-directory))
(find-file-other-window (find-change-log)) (find-file-other-window (find-change-log))
(barf-if-buffer-read-only) (barf-if-buffer-read-only)
...@@ -1137,10 +1147,17 @@ From a program, any arguments are passed to the `rcs2log' script." ...@@ -1137,10 +1147,17 @@ From a program, any arguments are passed to the `rcs2log' script."
(goto-char (point-min)) (goto-char (point-min))
(push-mark) (push-mark)
(message "Computing change log entries...") (message "Computing change log entries...")
(let ((default-directory odefault)) (message "Computing change log entries... %s"
(message "Computing change log entries... %s" (if (or (null args)
(if (eq 0 (apply 'call-process "rcs2log" nil t nil args)) (eq 0 (apply 'call-process "rcs2log" nil t nil
"done" "failed"))))) (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. ;; Functions for querying the master and lock files.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment