Commit 7902c120 authored by Dan Nicolaescu's avatar Dan Nicolaescu
Browse files

(with-vc-properties): Deal with directory arguments. (Bug#5298)

parent 4d0bbcb6
2010-01-17 Dan Nicolaescu <dann@ics.uci.edu>
* vc.el (with-vc-properties): Deal with directory arguments. (Bug#5298)
* vc-dir.el (vc-dir-resynch-file): Update the vc-dir header when
resyncing a directory.
......
......@@ -791,13 +791,23 @@ in their implementation of vc-BACKEND-diff.")
(defmacro with-vc-properties (files form settings)
"Execute FORM, then maybe set per-file properties for FILES.
If any of FILES is actually a directory, then do the same for all
buffers for files in that directory.
SETTINGS is an association list of property/value pairs. After
executing FORM, set those properties from SETTINGS that have not yet
been updated to their corresponding values."
(declare (debug t))
`(let ((vc-touched-properties (list t)))
,form
`(let ((vc-touched-properties (list t))
(flist nil))
(dolist (file ,files)
(if (file-directory-p file)
(dolist (buffer (buffer-list))
(let ((fname (buffer-file-name buffer)))
(when (and fname (vc-string-prefix-p file fname))
(push fname flist))))
(push file flist)))
,form
(dolist (file flist)
(dolist (setting ,settings)
(let ((property (car setting)))
(unless (memq property vc-touched-properties)
......
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