"Specify button for WIDGET between FROM and TO."
(let ((overlay (make-overlay from to nil t nil))
(follow-link (widget-get widget :follow-link))
- (help-echo (widget-get widget :help-echo)))
+ (help-echo (widget-get widget :help-echo))
+ (face (unless (widget-get widget :suppress-face)
+ (widget-apply widget :button-face-get))))
(widget-put widget :button-overlay overlay)
(when (functionp help-echo)
(setq help-echo 'widget-mouse-help))
- (overlay-put overlay 'before-string #(" " 0 1 (invisible t)))
+ (overlay-put overlay 'before-string
+ (propertize " " 'invisible t 'face face))
(overlay-put overlay 'button widget)
(overlay-put overlay 'keymap (widget-get widget :keymap))
(overlay-put overlay 'evaporate t)
;; We want to avoid the face with image buttons.
- (unless (widget-get widget :suppress-face)
- (overlay-put overlay 'face (widget-apply widget :button-face-get))
+ (when face
+ (overlay-put overlay 'face face)
(overlay-put overlay 'mouse-face
;; Make new list structure for the mouse-face value
;; so that different widgets will have