[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: emacs rendering comparisson between emacs23 and emacs26.3
From: |
Stefan Monnier |
Subject: |
Re: emacs rendering comparisson between emacs23 and emacs26.3 |
Date: |
Wed, 08 Apr 2020 10:45:33 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
> IIRC fontification can also modify text before the position where the
> 'fontified' property changed to nil.
It can do basically anything it likes, so yes, that can happen.
That can also cause the display to be incorrect because the redisplay
has already rendered that text.
> Or is that wrong?
It's not wrong, but if you *need* it, then you may have to do extra
work to make sure it's handled correctly.
E.g. jit-lock clients can tell jit-lock which part of the buffer they
actually fontified by returning a value of the form
`(jit-lock-bounds START . END)`. START can then find its way to the
following code (under the name `loose-beg`):
;; The redisplay engine has already rendered the buffer up-to
;; `orig-start' and won't notice if the above jit-lock-functions
;; changed the appearance of any part of the buffer prior
;; to that. So if `loose-beg' is before `orig-start', we need to
;; cause a new redisplay cycle after this one so that the changes
;; are properly reflected on screen.
;; To make such repeated redisplay happen less often, we can
;; eagerly extend the refontified region with
;; jit-lock-after-change-extend-region-functions.
(when (< loose-beg orig-start)
(run-with-timer 0 nil #'jit-lock-force-redisplay
(copy-marker loose-beg)
(copy-marker orig-start)))
-- Stefan
- Re: emacs rendering comparisson between emacs23 and emacs26.3, (continued)
- Re: emacs rendering comparisson between emacs23 and emacs26.3, Dmitry Gutov, 2020/04/06
- Re: emacs rendering comparisson between emacs23 and emacs26.3, Eli Zaretskii, 2020/04/06
- Re: emacs rendering comparisson between emacs23 and emacs26.3, Dmitry Gutov, 2020/04/06
- Re: emacs rendering comparisson between emacs23 and emacs26.3, Eli Zaretskii, 2020/04/06
- Re: emacs rendering comparisson between emacs23 and emacs26.3, Dmitry Gutov, 2020/04/06
- Re: emacs rendering comparisson between emacs23 and emacs26.3, Eli Zaretskii, 2020/04/07
- Re: emacs rendering comparisson between emacs23 and emacs26.3, Richard Stallman, 2020/04/07
- Re: emacs rendering comparisson between emacs23 and emacs26.3, Eli Zaretskii, 2020/04/08
- Re: emacs rendering comparisson between emacs23 and emacs26.3, martin rudalics, 2020/04/08
- Re: emacs rendering comparisson between emacs23 and emacs26.3, Eli Zaretskii, 2020/04/08
- Re: emacs rendering comparisson between emacs23 and emacs26.3,
Stefan Monnier <=
- Scrolling commands and skipping redisplay, was: Re: emacs rendering comparisson between emacs23 and emacs26.3, Dmitry Gutov, 2020/04/08
- Re: Scrolling commands and skipping redisplay, was: Re: emacs rendering comparisson between emacs23 and emacs26.3, Eli Zaretskii, 2020/04/09
- Re: Scrolling commands and skipping redisplay, was: Re: emacs rendering comparisson between emacs23 and emacs26.3, Stefan Monnier, 2020/04/09
- Re: Scrolling commands and skipping redisplay, was: Re: emacs rendering comparisson between emacs23 and emacs26.3, Dmitry Gutov, 2020/04/09
- Re: Scrolling commands and skipping redisplay, was: Re: emacs rendering comparisson between emacs23 and emacs26.3, Stefan Monnier, 2020/04/09
- Re: Scrolling commands and skipping redisplay, was: Re: emacs rendering comparisson between emacs23 and emacs26.3, Dmitry Gutov, 2020/04/09
- Re: Scrolling commands and skipping redisplay, was: Re: emacs rendering comparisson between emacs23 and emacs26.3, Stefan Monnier, 2020/04/09
- Re: Scrolling commands and skipping redisplay, was: Re: emacs rendering comparisson between emacs23 and emacs26.3, Dmitry Gutov, 2020/04/09
- Re: Scrolling commands and skipping redisplay, was: Re: emacs rendering comparisson between emacs23 and emacs26.3, Eli Zaretskii, 2020/04/10
- Re: Scrolling commands and skipping redisplay, was: Re: emacs rendering comparisson between emacs23 and emacs26.3, Dmitry Gutov, 2020/04/10