GNU bug report logs - #16760
Ellipses lose all decorative features when 'invisible' overlay starts at a point where underlying text changes its 'face' property.

Previous Next

Package: emacs;

Reported by: Pontus Michael <m.pontus <at> gmail.com>

Date: Sat, 15 Feb 2014 00:05:01 UTC

Severity: normal

Done: Marcin Borkowski <mbork <at> mbork.pl>

Bug is archived. No further changes may be made.

Full log


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Pontus Michael <m.pontus <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: Ellipses lose all decorative features when 'invisible' overlay starts
 at a point where underlying text changes its 'face' property.
Date: Sat, 15 Feb 2014 03:40:36 +0400
[Message part 1 (text/plain, inline)]
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.
[Message part 2 (text/html, inline)]

This bug report was last modified 9 years and 159 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.