changeset 78873:a577ac572c4b

(widget-specify-button): Don't merge mouse-face with neighbouring buttons.
author Richard M. Stallman <rms@gnu.org>
date Sat, 22 Sep 2007 11:26:23 +0000
parents d3ac9bf29bd6
children 4eac90b842ba
files lisp/wid-edit.el
diffstat 1 files changed, 11 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/wid-edit.el	Sat Sep 22 08:51:58 2007 +0000
+++ b/lisp/wid-edit.el	Sat Sep 22 11:26:23 2007 +0000
@@ -405,7 +405,17 @@
     (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)))