Subject: Ellipses lose all decorative features when 'invisible' overlay starts at a point where underlying text changes its 'face' property.
From: Pontus Michael <[email-masked]>
To: [email-masked]
Date: Sat, 15 Feb 2014 03:40:36 +0400
List-Id: <debbugs-submit.debbugs.gnu.org>

I am able to reproduce this issue running emacs -Q with "GNU Emacs
24.3.50.1 (i686-pc-linux-gnu, GTK+ Version 3.6.3)".
I've wrote a snippet that will allow me to demonstrate this issue:

    (let ((str (concat (propertize "red" 'face '((:foreground "red")))
                       (propertize "green" 'face '((:foreground "green")))
                       (propertize "blue" 'face '((:foreground "blue")))))
          (printer (lambda (offset)
                     (let* ((pos1 (+ offset (point)))
                            (pos2 (+ 1 (length str) pos1)))
                       (insert str ?\s str ?\n)
                       (overlay-put (make-overlay pos1 (+ 3 pos1))
                                    'face '((:inverse-video t)))
                       (overlay-put (make-overlay pos2 (+ 3 pos2))
                                    'invisible 'outline)))))
      (with-current-buffer (get-buffer-create "*test*")
        (setq buffer-invisibility-spec '((outline . t)))
        (text-scale-set 4)
        (display-buffer (current-buffer))
        (erase-buffer)
        (mapc printer '(2 3 4))))

After running this code you will be able to see, in a new buffer, 3 lines
of 2 words, all words are the same, each line features three-letter long
overlay over each of the words, highlighting letters underneath them on
left side, and hiding them behind ellipses on right side.

Whenever an overlay spans from a point where there's a change to 'face'
text-property, produced ellipsis doesn't adopt face decoration of neither
side. Furthermore, ellipsis part of the buffer appears to ignore current
text-scale setting, which is being set to 4 for temporary buffer in my
example.

Thank you for your attention.
All corrections that may help me improve my further reports are welcomed.