unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: rms@gnu.org
Cc: larsi@gnus.org, galex-713@galex-713.eu, emacs-devel@gnu.org
Subject: Re: Future of display engine and lines
Date: Sat, 23 Oct 2021 10:10:30 +0300	[thread overview]
Message-ID: <83r1cc5i8p.fsf@gnu.org> (raw)
In-Reply-To: <E1me4Fl-0003si-Ed@fencepost.gnu.org> (message from Richard Stallman on Fri, 22 Oct 2021 19:47:13 -0400)

> From: Richard Stallman <rms@gnu.org>
> Date: Fri, 22 Oct 2021 19:47:13 -0400
> Cc: galex-713@galex-713.eu, emacs-devel@gnu.org
> 
> Buffer display currently works with a structure which is a series of
> display lines.  On a graphics display, each window has its own set of
> display lines, Redisplay fills in the window's display lines top to
> botton based on the text in the buffer.

That's correct.

> 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.

Perhaps I misunderstand what "multiple columns" mean, then.  Doesn't
it mean that buffer text is displayed in separate rectangular
portions, like this:

   aaaaaaaaaaaa bbbbbbbb ccccccc    xxx xxxxxxxx xxxxxxxxxxxx
   dddddddd eeeeeeee fffffff ggg    yyyyyy yyyyyyyyy yyyyyyyy
   hhhhhhhh iiiiiiiiii jjjj kkkk    zzzzzzzzz zzzzzzzzzz zzzz

where buffer position of the first "xxx" follows the buffer position
of the last "kkkk"?  If so, where in the above picture are your points
A and B?

> It would be considerable work, but it would not require much change
> in the data structure of a buffer itself.

Actually, I believe that any significant improvement in the Emacs
display engine would almost certainly need a redesign of the buffer
text data structure, because most current limitations of redisplay
basically follow from the fact that buffer text is a single
unstructured stream of bytes (forget about the gap, it's immaterial
for this purpose).  So if we are going to enhance the display engine,
I'd be for redesigning the buffer text first and foremost, and in that
redesign allow up front intrinsic support for some display features
such as this one.



  reply	other threads:[~2021-10-23  7:10 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-20 13:27 Future of display engine and lines Alexandre Garreau
2021-10-21  3:16 ` Lars Ingebrigtsen
2021-10-22 23:47   ` Richard Stallman
2021-10-23  7:10     ` Eli Zaretskii [this message]
2021-10-24 12:38       ` Lars Ingebrigtsen
2021-10-24 13:17         ` Alan Mackenzie
2021-10-25  2:18       ` Richard Stallman
2021-10-25 12:05         ` Eli Zaretskii
2021-10-25 12:20           ` Alexandre Garreau
2021-10-25 12:50             ` Eli Zaretskii
2021-10-25 13:01               ` Alexandre Garreau
2021-10-28 12:19             ` Richard Stallman
2021-10-28 12:19           ` Richard Stallman
2021-10-28 13:19             ` Eli Zaretskii
2021-10-28 15:03             ` Alexandre Garreau
2021-11-09 23:13               ` chad
2021-11-10 19:24                 ` Eli Zaretskii
2021-11-13  4:08                   ` Richard Stallman
2021-10-23 10:32   ` Alexandre Garreau
2021-10-21 22:43 ` Richard Stallman
2021-10-22 11:56   ` Alexandre Garreau
2021-10-22 12:45     ` Eli Zaretskii
2021-10-23 13:55     ` Ihor Radchenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83r1cc5i8p.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=galex-713@galex-713.eu \
    --cc=larsi@gnus.org \
    --cc=rms@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).