[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#40857: Invisibility specs do not apply to specified spaces
From: |
Clément Pit-Claudel |
Subject: |
bug#40857: Invisibility specs do not apply to specified spaces |
Date: |
Sat, 25 Apr 2020 19:18:55 -0400 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 |
Consider the following program:
(with-current-buffer (get-buffer-create "*spaces*")
(erase-buffer)
(let ((indent (propertize " " 'display '(space :width 3))))
(put-text-property (point) (progn (insert indent "r1\n") (point))
'invisible 'a)
(put-text-property (point) (progn (insert indent "r2\n") (point))
'invisible 'b))
(add-to-invisibility-spec 'a)
(pop-to-buffer (current-buffer)))
The first record (r1) is hidden, but not the indentation that precedes it; so,
instead of looking like this:
r2
The buffer looks like this:
r2
(This is because the invisible property doesn't apply to the display spec.)
It's easy to fix when the replacing display spec is a string (by putting the
same invisibility spec on the string), but there doesn't seem to be a way to
add an 'invisible property to the specified space.
Clément