Subject: bug#15437: 24.3.50; mouse-face extends to an extra character when inside overlay after-string

From: Dmitry Gutov <[email-masked]>
Date: Mon, 23 Sep 2013 04:47:55 +0300

1. Evaluate this definition:

(defun mouse-face-test ()
  (interactive)
  (goto-char (point-min))
  (insert "aaaaaaaa")
  (let ((o (make-overlay (point-min) (point))))
    (overlay-put o 'invisible t)
    (overlay-put o 'after-string
                 (concat (propertize "bbbb"
                                     'face 'next-error
                                     'mouse-face 'highlight)
                         "aaaa"))))

2. Open a new buffer, type `M-x mouse-face-test'.

3. Hover the mouse cursor above the "b" letters. When the cursor is
away, they're highlighted with the `next-error' face, and the "a"
letters are untouched. But when the mouse hovers, the first of the "a"
letters is also highlighted, with the `highlight' face. It shouldn't be.

In GNU Emacs 24.3.50.3 (x86_64-unknown-linux-gnu, GTK+ Version 3.6.4)
 of 2013-09-16 on axl
Bzr revision: 114298 [email-masked]
Windowing system distributor `The X.Org Foundation', version 11.0.11303000
System Description:	Ubuntu 13.04