summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Ponce <da_vid@orange.fr>2026-06-01 11:35:15 +0200
committerEli Zaretskii <eliz@gnu.org>2026-06-04 09:06:52 +0300
commite6e79b1e090df382ccc25c01305035b16cf3b8b6 (patch)
treec5c09e4f67456f9dd60b70265b8c6ec0d4cd8a0f
parentd852d36c77fa5f9e7b762ce6b6ff0972a8fcc8ac (diff)
Don't unconditionally append the :ascent property in wid-edit
* lisp/wid-edit.el (widget-toggle-value-create): Don't duplicate the :ascent property if already set. (Bug#81167)
-rw-r--r--lisp/wid-edit.el10
1 files changed, 7 insertions, 3 deletions
diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el
index 3871d0f64c4..b81adc49a54 100644
--- a/lisp/wid-edit.el
+++ b/lisp/wid-edit.el
@@ -2546,9 +2546,13 @@ when he invoked the menu."
(widget-get widget (if val :on :off))))
(img (widget-image-find
(widget-get widget (if val :on-glyph :off-glyph)))))
- (widget-image-insert widget (or text "")
- (if img
- (append img '(:ascent center))))))
+ (and img (null (image-property img :ascent))
+ ;; Unlike (setf (image-property img :ascent) 'center), a simple
+ ;; `append' will not modify img as a side effect, and is safe
+ ;; to use here because the :ascent property is guaranteed to be
+ ;; absent.
+ (setq img (append img '(:ascent center))))
+ (widget-image-insert widget (or text "") img)))
(defun widget-toggle-action (widget &optional event)
;; Toggle value.