From: Stefan Monnier <monnier@iro.umontreal.ca>
To: Eli Zaretskii <eliz@gnu.org>
Cc: larsi@gnus.org, emacs-devel@gnu.org
Subject: Re: Tick Reduction
Date: Fri, 19 Nov 2021 13:22:16 -0500 [thread overview]
Message-ID: <jwv8rxkau9u.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <835ysoursn.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 19 Nov 2021 16:46:32 +0200")
>> Clearly, we would benefit from a formal markup language (and one which
>> includes some way to align text into columns).
>
> AFAIU, markup is generally separate from layout, so aligning text is
> not part of what markup is supposed to solve.
Not sure what you mean: in order to know that the columns need to be
aligned, the code that does the layout will need to be told about it by
some markup.
>> Note that for the column display, I think we actually need an
>> extension to the current `space` thingy on the `display` property
>> which is able to align columns even without the buffer's data
>> telling the redisplay at which precise pixel position it should be
>> aligned (instead it should just add space until the columns are
>> visually aligned).
> This goes against the very basics of how our display engine is
> designed:
Yup, I know :-(
> it examines text one character at a time and makes layout
> decisions as part of that examination. What you want would AFAIU
> require the display engine perform layout of the entire window above
> the line currently being laid out, before the layout of the current
> line can be performed.
AFAIK, the way the display engine works currently, when we process
a given char at POS, we have already processed all the chars between
`window-start` and POS, so I think we could handle the case of "align
with some previous line" (with some non-trivial caveats since it means
that future changes in that previous line would need to cause POS to be
re-processed, which may require disabling some optimizations).
Of course, to really auto-align columns, we can't just "align
with some previous line", but we'd also need to align with some
subsequent line, which means it can't be done in a single pass.
Stefan
next prev parent reply other threads:[~2021-11-19 18:22 UTC|newest]
Thread overview: 167+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-18 20:37 Tick Reduction Lars Ingebrigtsen
2021-11-18 21:01 ` Perry E. Metzger
2021-11-19 5:25 ` Lars Ingebrigtsen
2021-11-18 21:23 ` Dmitry Gutov
2021-11-19 5:27 ` Lars Ingebrigtsen
2021-11-19 6:31 ` Michael Welsh Duggan
2021-11-19 6:50 ` Stefan Kangas
2021-11-19 7:05 ` Lars Ingebrigtsen
2021-11-19 8:19 ` Eli Zaretskii
2021-11-19 8:30 ` Lars Ingebrigtsen
2021-11-20 8:01 ` Eli Zaretskii
2021-11-20 9:07 ` Lars Ingebrigtsen
2021-11-21 15:11 ` Lars Ingebrigtsen
2021-11-21 17:16 ` Eli Zaretskii
2021-11-21 17:24 ` Lars Ingebrigtsen
2021-11-21 17:39 ` Eli Zaretskii
2021-11-21 18:00 ` Lars Ingebrigtsen
2021-11-21 18:15 ` Eli Zaretskii
2021-11-21 18:25 ` Lars Ingebrigtsen
2021-11-21 18:33 ` Lars Ingebrigtsen
2021-11-21 19:31 ` Eli Zaretskii
2021-11-21 19:34 ` Lars Ingebrigtsen
2021-11-21 19:36 ` Lars Ingebrigtsen
2021-11-21 19:41 ` Lars Ingebrigtsen
2021-11-21 19:49 ` Eli Zaretskii
2021-11-21 19:53 ` Lars Ingebrigtsen
2021-11-21 20:07 ` Eli Zaretskii
2021-11-21 20:17 ` Lars Ingebrigtsen
2021-11-21 20:26 ` Eli Zaretskii
2021-11-21 20:30 ` Lars Ingebrigtsen
2021-11-21 20:31 ` Lars Ingebrigtsen
2021-11-22 8:19 ` Lars Ingebrigtsen
2021-11-22 14:45 ` Eli Zaretskii
2021-11-22 14:50 ` Lars Ingebrigtsen
2021-11-22 17:21 ` Eli Zaretskii
2021-11-22 18:35 ` Stefan Monnier
2021-11-23 10:15 ` Lars Ingebrigtsen
2021-11-23 13:41 ` Eli Zaretskii
2021-11-23 13:49 ` Lars Ingebrigtsen
2021-11-23 14:19 ` Eli Zaretskii
2021-11-23 14:32 ` Lars Ingebrigtsen
2021-11-23 14:43 ` Eli Zaretskii
2021-11-24 11:07 ` Lars Ingebrigtsen
2021-11-24 14:20 ` Eli Zaretskii
2021-11-24 16:28 ` Lars Ingebrigtsen
2021-11-24 17:05 ` Eli Zaretskii
2021-11-24 17:10 ` Lars Ingebrigtsen
2021-11-24 17:41 ` Eli Zaretskii
2021-11-24 17:50 ` Lars Ingebrigtsen
2021-11-24 18:39 ` Eli Zaretskii
2021-11-24 18:44 ` Lars Ingebrigtsen
2021-11-24 19:00 ` Eli Zaretskii
2021-11-25 13:02 ` Lars Ingebrigtsen
2021-11-25 12:58 ` Lars Ingebrigtsen
2021-11-25 13:28 ` Eli Zaretskii
2021-11-25 14:29 ` Lars Ingebrigtsen
2021-11-25 15:10 ` Eli Zaretskii
2021-11-26 12:12 ` Lars Ingebrigtsen
2021-11-26 12:43 ` Eli Zaretskii
2021-11-24 18:41 ` Lars Ingebrigtsen
2021-11-24 18:53 ` Eli Zaretskii
2021-11-24 22:32 ` Yuan Fu
2021-11-25 7:34 ` Eli Zaretskii
2021-11-26 17:03 ` Yuan Fu
2021-11-26 18:41 ` Eli Zaretskii
2021-11-26 18:54 ` Yuan Fu
2021-11-26 18:57 ` Eli Zaretskii
2021-11-25 13:06 ` Lars Ingebrigtsen
2021-11-25 14:02 ` Eli Zaretskii
2021-11-25 14:07 ` Lars Ingebrigtsen
2021-11-25 14:12 ` Eli Zaretskii
2021-11-25 14:16 ` Lars Ingebrigtsen
2021-11-25 15:04 ` Eli Zaretskii
2021-11-26 12:09 ` Lars Ingebrigtsen
2021-11-26 12:56 ` Eli Zaretskii
2021-11-27 14:15 ` Lars Ingebrigtsen
2021-11-27 14:51 ` Eli Zaretskii
2021-11-29 13:40 ` Lars Ingebrigtsen
2021-11-29 13:53 ` Eli Zaretskii
2021-11-29 14:00 ` Lars Ingebrigtsen
2021-11-29 14:06 ` Eli Zaretskii
2021-11-29 14:15 ` Lars Ingebrigtsen
2021-11-29 14:17 ` Eli Zaretskii
2021-11-29 14:35 ` Eli Zaretskii
2021-11-29 15:06 ` Lars Ingebrigtsen
2021-11-24 23:10 ` Feng Shu
2021-11-25 7:42 ` Eli Zaretskii
2021-11-25 11:52 ` Lars Ingebrigtsen
2021-11-22 23:26 ` chad
2021-11-21 20:10 ` Lars Ingebrigtsen
2021-11-21 20:22 ` Eli Zaretskii
2021-11-21 20:28 ` Lars Ingebrigtsen
2021-11-21 20:41 ` Lars Ingebrigtsen
2021-11-21 21:13 ` Eli Zaretskii
2021-11-21 20:42 ` Eli Zaretskii
2021-11-21 21:12 ` Eli Zaretskii
2021-11-22 11:22 ` Lars Ingebrigtsen
2021-11-22 14:52 ` Eli Zaretskii
2021-11-22 14:55 ` Lars Ingebrigtsen
2021-11-22 18:04 ` Eli Zaretskii
2021-11-19 8:33 ` Stefan Kangas
2021-11-19 8:39 ` Lars Ingebrigtsen
2021-11-19 8:48 ` Eli Zaretskii
2021-11-19 10:00 ` Lars Ingebrigtsen
2021-11-19 10:28 ` Stefan Kangas
2021-11-19 12:41 ` Eli Zaretskii
2021-11-19 13:04 ` Stefan Kangas
2021-11-19 13:18 ` Eli Zaretskii
2021-11-19 13:41 ` Stefan Kangas
2021-11-19 13:48 ` Eli Zaretskii
2021-11-21 13:35 ` Stefan Kangas
2021-11-19 10:28 ` Stefan Kangas
2021-11-20 8:43 ` Lars Ingebrigtsen
2021-11-20 9:03 ` Eli Zaretskii
2021-11-20 9:26 ` Lars Ingebrigtsen
2021-11-20 9:51 ` Eli Zaretskii
2021-11-20 9:56 ` Lars Ingebrigtsen
2021-11-20 10:11 ` Eli Zaretskii
2021-11-21 8:57 ` Lars Ingebrigtsen
2021-11-21 9:02 ` Lars Ingebrigtsen
2021-11-21 13:36 ` Stefan Kangas
2021-11-21 19:26 ` Lars Ingebrigtsen
2021-11-21 13:54 ` Stefan Kangas
2021-11-21 15:25 ` Lars Ingebrigtsen
2021-11-21 19:28 ` Stefan Kangas
2021-11-21 19:31 ` Lars Ingebrigtsen
2021-11-22 14:57 ` Use variable-pitch face in more places Stefan Kangas
2021-11-22 15:05 ` Stefan Kangas
2021-11-22 17:22 ` Juri Linkov
2021-11-22 18:10 ` Stefan Kangas
2021-11-22 18:40 ` Juri Linkov
2021-11-23 9:56 ` Lars Ingebrigtsen
2021-11-24 9:12 ` Juri Linkov
2021-11-24 16:52 ` Lars Ingebrigtsen
2021-11-24 17:59 ` Juri Linkov
2021-11-19 7:48 ` Tick Reduction Eli Zaretskii
2021-11-19 13:41 ` Stefan Kangas
2021-11-19 11:58 ` Dmitry Gutov
2021-11-18 22:18 ` [External] : " Drew Adams
2021-11-21 10:17 ` Phil Sainty
2021-11-19 5:48 ` Lars Ingebrigtsen
2021-11-19 7:24 ` Eli Zaretskii
2021-11-19 7:28 ` Lars Ingebrigtsen
2021-11-19 8:26 ` Eli Zaretskii
2021-11-19 8:33 ` Lars Ingebrigtsen
2021-11-19 6:42 ` Eric S Fraga
2021-11-19 7:30 ` Lars Ingebrigtsen
2021-11-19 6:52 ` Stefan Kangas
2021-11-19 7:26 ` Lars Ingebrigtsen
2021-11-19 7:59 ` Stefan Kangas
2021-11-19 8:17 ` Lars Ingebrigtsen
2021-11-19 8:09 ` Eli Zaretskii
2021-11-19 8:34 ` Stefan Kangas
2021-11-19 13:58 ` Stefan Monnier
2021-11-19 14:46 ` Eli Zaretskii
2021-11-19 18:22 ` Stefan Monnier [this message]
2021-11-19 18:53 ` Eli Zaretskii
2021-11-19 19:24 ` Stefan Monnier
2021-11-19 19:50 ` Eli Zaretskii
2021-11-19 21:09 ` Stefan Monnier
2021-11-20 6:34 ` Eli Zaretskii
2021-11-20 13:11 ` Stefan Monnier
2021-11-20 13:32 ` Eli Zaretskii
2021-11-20 14:06 ` Stefan Monnier
2021-11-20 14:35 ` Eli Zaretskii
2021-11-20 15:01 ` Stefan Monnier
2021-11-20 9:00 ` Lars Ingebrigtsen
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=jwv8rxkau9u.fsf-monnier+emacs@gnu.org \
--to=monnier@iro.umontreal.ca \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=larsi@gnus.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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.