branch: externals/marginalia
commit daab796790b2cd01b7afce705f7502d2d2b86eed
Author: Daniel Mendler <m...@daniel-mendler.de>
Commit: Daniel Mendler <m...@daniel-mendler.de>

    marginalia--field: Minor optimization
---
 marginalia.el | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/marginalia.el b/marginalia.el
index 93de72f104..2d62c5548f 100644
--- a/marginalia.el
+++ b/marginalia.el
@@ -404,7 +404,13 @@ FACE is the name of the face, with which the field should 
be propertized."
   (setq field (if format `(format ,format ,field) `(or ,field "")))
   (when width (setq field `(format ,(format "%%%ds" (- width)) ,field)))
   (when truncate (setq field `(marginalia--truncate ,field ,truncate)))
-  (when face (setq field `(propertize ,field 'face ,face)))
+  (when face
+    (setq field (if (or format width truncate)
+                    (cl-with-gensyms (f)
+                      `(let ((,f ,field))
+                         (put-text-property 0 (length ,f) 'face ,face ,f)
+                         ,f))
+                  `(propertize ,field 'face ,face))))
   field)
 
 (defmacro marginalia--fields (&rest fields)

Reply via email to