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

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

bug#48740: 28.0.50; Composition text property is not always honoured


From: Ihor Radchenko
Subject: bug#48740: 28.0.50; Composition text property is not always honoured
Date: Tue, 01 Jun 2021 22:28:50 +0800

Eli Zaretskii <eliz@gnu.org> writes:

>> Yet, the same "broken" property does work in step 6...
>
> No, AFAIU in step 6 a single property list covers the whole of the
> word ONGOING.

I feel that I am missing something then.

Stripping all unrelated properties from the plists, I get

At step 6 (after changing todo state from TODO to ONGOING):
For "ONG"
14 17 (... prettify-symbols-end 301 prettify-symbols-start 294 composition (0 7 
[128119]) ...)
For "OING"
17 21 (... prettify-symbols-end 301 prettify-symbols-start 294 composition (0 7 
[128119]) ...)

At step 8 (after org-agenda-redo-all):
For "ONG"
14 17 (... prettify-symbols-end 301 prettify-symbols-start 294 composition (0 7 
[128119]) ...)
For "OING"
17 21 (... prettify-symbols-end 301 prettify-symbols-start 294 composition (0 7 
[128119]) ...)

step 6 and step 8 look identical for me, yet step 6 does have
composition being rendered, unlike step 8.

>> The two intervals are there because other properties in the list are
>> not same, as I understand.
>
> Exactly.  And that cannot work with the composition property.

Again, I feel that I miss something. Consider the following test case:

(switch-to-buffer "test")
(insert "asdasd")
(compose-region (point-min) (point-max) '(?a (bl . tl) ?| (bl . tl) ?b))
(put-text-property 1 3 'test 1)
(put-text-property 3 6 'test 2)
(buffer-string)

The output is

#("asdasd" 0 2 (composition (43 6 [97 72 124 72 98]) test 1) 2 5 (composition 
(43 6 [97 72 124 72 98]) test 2) 5 6 (composition (43 6 [97 72 124 72 98])))

Composition works fine here despite spanning over multiple intervals.
Again, I feel that I miss something in your explanation.

Best,
Ihor





reply via email to

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