emacs-devel
[Top][All Lists]
Advanced

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

Re: Future of display engine and lines


From: Richard Stallman
Subject: Re: Future of display engine and lines
Date: Thu, 28 Oct 2021 08:19:41 -0400

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

  >   > > It could have multiple segments for each display line, and fill up
  >   > > one series of segments going vertically down from point A,
  >   > > then the next series of segments going vertically down from point B,
  >   > > and so on.

  > The "going vertically from A, then vertically from B" is the part I
  > don't understand: what did you mean by "fill up segments by going
  > vertically" here?

I am struggling to find precise words about this abstract point.

Imagine that one region of the buffer is displayed in two side-by-side
columns.  The top of the window is in that region.  To redisplay it,
display needs to know where in the buffer each column starts.
For the second column, it also needs to know how many screen lines (or
how much screen height) is off the top of the window.

It can fill up the first column's rectangle by processing text linearly
from the window start, line by line, and putting the result into the
correct part of each screen line.

It can fill up the second column's rectangle by processing text
linearly from the proper place in the buffer (where the right column
text should start), line by line, and putting the result into the
correct part of each screen line.

I am thinking about non-graphics terminals.  For graphics terminals,
the data structure will have to be different.  (They already use a
different data structure.)

The point is, there is no need to change the representation of buffers.


In principle there might be a more efficient representation of
buffers.  But I am skeptical about that.  When I tried to look for a
better representation that would allow for multiple gaps, I couldn't
see a good answer about how to use them and gain any benefits.

I am simply trying to argue that the buffer representation and the
redisplay algorithm are modularly separate.  We can keep the issues
separate and this issue much simpler.


-- 
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)





reply via email to

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