Subject: Re: bug#56820: outline-minor-mode replacing the first character with an arrow

From: Eli Zaretskii <[email-masked]>
Date: Thu, 08 Sep 2022 11:32:31 +0300

> From: Juri Linkov <[email-masked]>
> Cc: [email-masked],  [email-masked],  [email-masked]
> Date: Thu, 08 Sep 2022 10:10:18 +0300
> 
> >> Excuse my ignorance, is display-line-numbers-mode implemented by
> >> using margins?
> >
> > No.  We simply usurp a few columns from the text area, on the layout
> > level of the display engine.
> 
> I counted ~100 occurrences of display_line_numbers in xdisp.c.
> So I guess display_outlines could be added based on code
> for display_line_numbers using the same strategy as
> tab_line was added based on header_line.
> 
> If this is a good idea, I could look into doing this
> after finishing all already opened issues, probably
> around December.

I don't think I understand what you mean by "same strategy" here, so I
cannot answer the question yet.

Vdisplay_line_numbers is used in xdisp.c for several purposes:

  . adjust layout calculations for the space taken by line numbers
  . disable some redisplay optimizations that cannot be used when line
    numbers (especially relative numbers) are displayed
  . produce and display the line numbers for relevant lines

Which one(s) are "strategy" for the purpose of this discussion?

I also don't think I understand which parts of the image you posted
you want to emulate.  In addition to outline-style widgets for folding
and un-folding buffer text, the image shows vertical lines that
delineate code blocks.  Those are shown in the same column as the
braces, and thus call for a different kind of implementation than the
line numbers.  I guess you didn't mean those?