From e832976f1a577589eff361e557fd08d5c4de30a1 Mon Sep 17 00:00:00 2001 From: Sean Whitton Date: Wed, 18 Feb 2026 19:14:38 +0000 Subject: [PATCH] Fixes to with-vc-properties * lisp/vc/vc.el (with-vc-properties): Un-gensym 'vc-touched-properties'; this is a dynamic variable. Document the longstanding behavior to capture 'file' while evaluating SETTINGS, and to evaluate SETTINGS for each file to be updated. Declare '(indent 0)'. --- lisp/vc/vc.el | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el index e902928a38e..86901817c4b 100644 --- a/lisp/vc/vc.el +++ b/lisp/vc/vc.el @@ -1248,12 +1248,14 @@ Not supported by all backends." 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. +executing FORM, set those properties from SETTINGS for which FORM did +not call `vc-file-setprop' for that property (on any file). SETTINGS is +evaluated once per file whose properties are to be updated, with the +symbol `file' bound to the file name of each such file. Return the result of evaluating FORM." - (declare (debug t)) - (cl-with-gensyms (vc-touched-properties flist) - `(let ((,vc-touched-properties (list t)) + (declare (debug t) (indent 0)) + (cl-with-gensyms (flist) + `(let ((vc-touched-properties (list t)) (,flist nil)) (prog2 (dolist (file ,files) (if (file-directory-p file)