diff options
author | Richard M. Stallman <rms@gnu.org> | 2007-09-22 11:26:23 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 2007-09-22 11:26:23 +0000 |
commit | cc2fba21ba9c85726a8cedaf548f438f82fb38e4 (patch) | |
tree | 60f5bdef58522ffe9737f5365b7e8c8a6859797b /lisp/wid-edit.el | |
parent | d2f95fcaf907bcf7c494af208429e061de821eed (diff) | |
download | emacs-cc2fba21ba9c85726a8cedaf548f438f82fb38e4.tar.gz |
(widget-specify-button): Don't merge mouse-face with neighbouring buttons.
Diffstat (limited to 'lisp/wid-edit.el')
-rw-r--r-- | lisp/wid-edit.el | 12 |
1 files changed, 11 insertions, 1 deletions
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))) |