From cc2fba21ba9c85726a8cedaf548f438f82fb38e4 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Sat, 22 Sep 2007 11:26:23 +0000 Subject: [PATCH] (widget-specify-button): Don't merge mouse-face with neighbouring buttons. --- lisp/wid-edit.el | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el index abb7fb6631e..50df4bd56c6 100644 --- a/lisp/wid-edit.el +++ b/lisp/wid-edit.el @@ -405,7 +405,17 @@ new value.") (unless (widget-get widget :suppress-face) (overlay-put overlay 'face (widget-apply widget :button-face-get)) (overlay-put overlay 'mouse-face - (widget-apply widget :mouse-face-get))) + ;; Make new list structure for the mouse-face value + ;; so that different widgets will have + ;; different `mouse-face' property values + ;; and will highlight separately. + (let ((mouse-face-value + (widget-apply widget :mouse-face-get))) + ;; If it's a list, copy it. + (if (listp mouse-face-value) + (copy-sequence mouse-face-value) + ;; If it's a symbol, put it in a list. + (list mouse-face-value))))) (overlay-put overlay 'pointer 'hand) (overlay-put overlay 'follow-link follow-link) (overlay-put overlay 'help-echo help-echo))) -- 2.39.2