bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#16760: Ellipses lose all decorative features when 'invisible' overla


From: Pontus Michael
Subject: bug#16760: 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

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.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]