Could someone explain how the jit-lock in Emacs works in the following case?

1. emacs -Q
2. open the attachment file and goto end of buffer
3. M-x desktop-save and quit emacs
4. emacs -Q
5. M-x desktop-read

I see the buffer is fontified correctly. Does it parse the whole buffer?


在 2020年1月6日 +0800 AM11:42,Eli Zaretskii <eliz@gnu.org>,写道:
From: arthur miller <arthur.miller@live.com>
CC: "monnier@iro.umontreal.ca" <monnier@iro.umontreal.ca>, "alan@idiocy.org"
<alan@idiocy.org>, "emacs-devel@gnu.org" <emacs-devel@gnu.org>
Date: Sun, 5 Jan 2020 20:28:43 +0000

When I said batch-processing I ment processing a file or chunk of buffer (region) just before it is to be
displayed to a user. Same for other "insertions" from macro expansions or similar.

Then we always do "batch processing", because the display engine has
no good idea what exactly changed in the buffer. So it always
processes some minimal chunk of text that it can prove to itself that
the changes were all inside that chunk.

I also don't think teee-sitter is needed for syntax coloring. Tree-sitter seems to be very expensive regex engine
in that case.

They claim to be less expensive than regexp-based coloring, especially
with very long lines.