Subject: Re: bug#65896: 30.0.50; folding text with text properties prevents background from extending past the newline

From: Kévin Le Gouguec <[email-masked]>
Date: Fri, 29 Sep 2023 09:12:07 +0200

Juri Linkov <[email-masked]> writes:

>> FWIW, I would invite motivated hackers to check out magit-section and
>> see if outline-mode could be taught a new "folding style" that would use
>> the same folding principles.  My own wandering through the EIEIO maze
>> has been too brief to yield anything useful, but AFAICT the salient
>> points are:
>>
>> * setting the 'invisible overlay's BEG at the start of the "section
>> body" (after the heading's newline),
>>
>> * storing bookkeeping information (such as this beginning position) in a
>> 'magit-section property applied to the heading, so that
>> magit-section-show can retrieve that information when invoked by the
>> user with point on that heading.
>>
>> I would imagine outline.el could grow a user option to adjust overlay
>> boundaries this way, so the heading's newline would remain visible, and
>> so would any :extend property on that newline… although perhaps I'm
>> missing some key differences between outline-mode and magit-section-mode
>> that may derail this train of thought.
>
> I tried, but the conclusion was that this requires changes in the display engine.

Could you expand on what exactly you tried, and what limitations you
faced?  (Apologies if you went over this somewhere else and I missed it)

My point was that magit-section exists right now, with no changes to the
display engine, with the exact feature set of outline.el *and* the
ability to keep heading faces extended after folding sections.  So,
unless I've missed a crucial difference between the two libraries, I
don't see why outline.el could not "learn new tricks".

(FWIW magit-section advertises itself as "sections for read-only
buffers", but if there's something in there that could not be made to
work for writable buffers, I have not found it yet)