mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-26 07:33:47 +00:00
Respect fontification region calculated by major mode. Fixes bug #22316.
* lisp/font-lock.el (font-lock-extend-jit-lock-region-after-change): when a fontification region has been calculated by a function on font-lock-extend-after-change-region-function use this region rather than changing the end position to somewhere else.
This commit is contained in:
parent
4b37cba3d5
commit
8be046f453
@ -1302,15 +1302,18 @@ This function does 2 things:
|
||||
(point-min))))
|
||||
(when (< end (point-max))
|
||||
(setq end
|
||||
(if (get-text-property end 'font-lock-multiline)
|
||||
(or (text-property-any end (point-max)
|
||||
'font-lock-multiline nil)
|
||||
(point-max))
|
||||
(cond
|
||||
((get-text-property end 'font-lock-multiline)
|
||||
(or (text-property-any end (point-max)
|
||||
'font-lock-multiline nil)
|
||||
(point-max)))
|
||||
;; If `end' has been set by the function above, don't corrupt it.
|
||||
(font-lock-extend-after-change-region-function end)
|
||||
;; Rounding up to a whole number of lines should include the
|
||||
;; line right after `end'. Typical case: the first char of
|
||||
;; the line was deleted. Or a \n was inserted in the middle
|
||||
;; of a line.
|
||||
(1+ end))))
|
||||
(t (1+ end)))))
|
||||
;; Finally, pre-enlarge the region to a whole number of lines, to try
|
||||
;; and anticipate what font-lock-default-fontify-region will do, so as to
|
||||
;; avoid double-redisplay.
|
||||
|
Loading…
Reference in New Issue
Block a user