mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-02 21:52:04 -08:00
(with-vc-properties): Deal with directory arguments. (Bug#5298)
This commit is contained in:
parent
4d0bbcb62a
commit
7902c120cb
2 changed files with 14 additions and 2 deletions
|
|
@ -1,5 +1,7 @@
|
|||
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.
|
||||
|
||||
|
|
|
|||
14
lisp/vc.el
14
lisp/vc.el
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue