[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#22323: Font fallback causes inconsistent stacking of faces in overla
From: |
Eli Zaretskii |
Subject: |
bug#22323: Font fallback causes inconsistent stacking of faces in overlays with invisible property |
Date: |
Thu, 07 Jan 2016 20:22:44 +0200 |
> From: Clément Pit--Claudel <clement.pitclaudel@live.com>
> Date: Thu, 7 Jan 2016 11:52:55 -0500
>
> Font fallback seems to break face stacking for invisible overlays:
>
> This works fine:
>
> (with-current-buffer (get-buffer-create "No prettification: ellispis is
> highlighed")
> (erase-buffer)
> (fundamental-mode)
> (add-to-invisibility-spec '(outline . t))
> (insert "abc!!def!!ghi")
> (let ((ov (make-overlay 6 9)))
> (overlay-put ov 'invisible 'outline))
> (let ((ov (make-overlay (point-min) (point-max))))
> (overlay-put ov 'face 'region))
> (pop-to-buffer (current-buffer)))
>
> This doesn't work (assuming that ℙ is not in your usual font):
>
> (with-current-buffer (get-buffer-create "No prettification: ellispis is
> highlighed")
> (erase-buffer)
> (fundamental-mode)
> (add-to-invisibility-spec '(outline . t))
> (insert "abcℙℙdefℙℙghi")
> (let ((ov (make-overlay 6 9)))
> (overlay-put ov 'invisible 'outline))
> (let ((ov (make-overlay (point-min) (point-max))))
> (overlay-put ov 'face 'region))
> (pop-to-buffer (current-buffer)))
This is indeed the same issue as bug#22320. Using a different font
requires a different face, so you have here exactly the same situation
as in #22320: the last visible character ℙ has a face that is
different from the first invisible character d.