Subject: Re: bug#16760: Ellipses lose all decorative features when 'invisible' overlay starts at a point where underlying text changes its 'face' property.

From: Marcin Borkowski <[email-masked]>
Date: Thu, 04 Feb 2016 22:05:28 +0100

Hi all,

I confirm that this is reproducible on GNU Emacs 25.1.50.1.  (I also
suspect that a similar problem exists with ellipsis in Org-mode, when
scaling the text.  One discussion on the ML suggests a problem with
display tables.)

Best,
Marcin Borkowski

On 2014-02-15, at 03:40, Pontus Michael <[email-masked]> wrote:

> 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.