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

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

bug#19307: 24.4.51; Ellipsis created with `invisible' removes highlighti


From: Dmitry Gutov
Subject: bug#19307: 24.4.51; Ellipsis created with `invisible' removes highlighting from overlay after-string after it
Date: Mon, 08 Dec 2014 17:33:36 +0200

In the example below, the `after-string' value is propertized with a
face.

But as long as there is ellipsis at its beginning, the after-string is
rendered using the default face.

(defun test ()
  (interactive)
  (ignore-errors
    (kill-buffer "test"))
  (pop-to-buffer "test")
  (add-to-invisibility-spec '(... . t))
  (insert (propertize "foo" 'invisible '...))
  (let ((ov (make-overlay (point) (point))))
    (overlay-put ov 'invisible t)
    (overlay-put ov 'window (selected-window))
    (overlay-put ov 'after-string
                 (propertize "xxx" 'face 'highlight))))

And here's a somewhat related scenario, with a surprising result:

(defun testt ()
  (interactive)
  (ignore-errors
    (kill-buffer "testt"))
  (pop-to-buffer "testt")
  (add-to-invisibility-spec '(... . t))
  (insert " ")
  (let ((ov (make-overlay (1- (point)) (point))))
    (overlay-put ov 'invisible t)
    (overlay-put ov 'window (selected-window))
    (overlay-put ov 'after-string
                 (propertize "xxx" 'face 'highlight)))
  (insert (propertize "foo" 'invisible '...)))

If I modify the scenario to make the overlay empty (and maybe omit
inserting the space at the beginning, though this makes no difference),
then "xxx" is displayed and even highlighted as expected.

In GNU Emacs 24.4.51.2 (x86_64-unknown-linux-gnu, GTK+ Version 3.10.8)
 of 2014-11-28 on axl
Repository revision: 6b765b8facbdbb03f28028007885236601652515
Windowing system distributor `The X.Org Foundation', version 11.0.11501000
System Description:     Ubuntu 14.04.1 LTS





reply via email to

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