Subject: overlay before- and after-string and mouse-face

From: Glenn Morris <[email-masked]>
Date: Tue, 21 Oct 2008 20:39:13 -0400

Package: emacs
Version: 23.0.60

This bug is extracted from #1176, which contained several issues.

The mouse-face property of an overlay with a display string does not
affect any before-string, but it does affect the after-string.

This can be worked around to some extent by copying the mouse-face
property to the before-string, but one cannot get the whole overlay
highlighted at one time.

Example:

(let ((buff (generate-new-buffer "overlay test"))
      o)
  (with-current-buffer buff
    (insert "text")
    (setq o (make-overlay (point-min) (point-max)))
    (overlay-put o 'mouse-face '(:background "green"))
    (overlay-put o 'display "display")
    (overlay-put o 'before-string "before string")
    (overlay-put o 'after-string "after string")
    (pop-to-buffer buff)))

"displayafter string" has mouse-face, but "before string" does not.