From: Richard M. Stallman Date: Sat, 22 Sep 2007 11:26:23 +0000 (+0000) Subject: (widget-specify-button): Don't merge mouse-face with neighbouring buttons. X-Git-Tag: emacs-pretest-22.1.90~752 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=cc2fba21ba9c85726a8cedaf548f438f82fb38e4;p=emacs.git (widget-specify-button): Don't merge mouse-face with neighbouring buttons. --- 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)))