From: Eli Zaretskii <eliz@gnu.org>
To: Ihor Radchenko <yantar92@gmail.com>
Cc: 57447@debbugs.gnu.org
Subject: bug#57447: 28.1.90; Can font-lock stop requesting fontification of invisible text?
Date: Sat, 27 Aug 2022 12:18:51 +0300 [thread overview]
Message-ID: <831qt211tw.fsf@gnu.org> (raw)
In-Reply-To: <87bks66sfk.fsf@localhost> (message from Ihor Radchenko on Sat, 27 Aug 2022 15:45:19 +0800)
> From: Ihor Radchenko <yantar92@gmail.com>
> Cc: 57447@debbugs.gnu.org
> Date: Sat, 27 Aug 2022 15:45:19 +0800
>
> I did expect some invisible text to be fontified, but did not expect 10x
> increase in the requested text size.
The increase depends on how much text is hidden in each chunk,
relative to jit-lock-chunk-size. If you have a lot of small shunks of
hidden text interspersed with visible text, you could have all of the
invisible text fontified.
> > One way this could be improved is by making jit-lock-chunk-size
> > smaller. This will make the probability of such "over-fontification"
> > lower.
>
> I tried to reduce the chunk size and at appears to help. However, I am
> not sure if there are other side effects of reducing
> jit-lock-chunk-size.
If the size is smaller than the visible portion of the buffer, it will
cause repeated calls to fontification-functions, instead of just one
call. If fontification-functions do their job in approximately linear
time, you shouldn't see any adverse effects, I think. But if each
call to fontification-functions incurs some one-time overhead that is
relatively expensive, the result could be slower redisplay when the
window is scrolled a lot.
> The code producing the messages is in
> https://github.com/yantar92/org/blob/feature/org-font-lock-element/lisp/org-font-lock-core.el
> Search for org-font-lock-verbose in the code.
>
> If you want to test it yourself, clone https://github.com/yantar92/org
> and use feature/org-font-lock-element branch with the file I provided,
> unfold the "Home" headline, and then unfold the "Ideas ..." headline.
I only want to test that if you see something that is inconsistent
with my description of how this stuff works, including the value of
jit-lock-chunk-size.
next prev parent reply other threads:[~2022-08-27 9:18 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-27 5:34 bug#57447: 28.1.90; Can font-lock stop requesting fontification of invisible text? Ihor Radchenko
2022-08-27 7:02 ` Eli Zaretskii
2022-08-27 7:45 ` Ihor Radchenko
2022-08-27 9:18 ` Eli Zaretskii [this message]
2022-08-27 10:37 ` Ihor Radchenko
2022-08-27 11:05 ` Eli Zaretskii
2022-08-27 11:11 ` Ihor Radchenko
2022-08-27 11:17 ` Eli Zaretskii
2022-08-27 11:24 ` Ihor Radchenko
2022-08-27 15:21 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-08-27 15:25 ` Eli Zaretskii
2022-08-28 1:23 ` Ihor Radchenko
[not found] ` <jwvtu5wsa21.fsf-monnier+emacs@gnu.org>
[not found] ` <87r10xp07l.fsf@localhost>
[not found] ` <jwvy1v4giz3.fsf-monnier+emacs@gnu.org>
[not found] ` <875yi7o8x3.fsf@localhost>
[not found] ` <jwvmtbjgmrs.fsf-monnier+emacs@gnu.org>
[not found] ` <jwvo7vsb3fz.fsf-monnier+emacs@gnu.org>
[not found] ` <8735d2pghv.fsf@localhost>
2022-09-09 14:52 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
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=831qt211tw.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=57447@debbugs.gnu.org \
--cc=yantar92@gmail.com \
/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.