From 7a1e3cece9c0ee9885630209ee56730930364de6 Mon Sep 17 00:00:00 2001 From: Gerd Moellmann Date: Mon, 16 Oct 2000 13:04:34 +0000 Subject: [PATCH] (jit-lock-after-change): If we're in text that matches a multi-line font-lock pattern, make sure the whole text will be redisplayed. --- lisp/jit-lock.el | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lisp/jit-lock.el b/lisp/jit-lock.el index bba9122a9c4..0445d6639f0 100644 --- a/lisp/jit-lock.el +++ b/lisp/jit-lock.el @@ -420,12 +420,20 @@ will take place when text is fontified stealthily." (when jit-lock-mode (save-excursion (with-buffer-prepared-for-jit-lock + ;; If we're in text that matches a multi-line font-lock pattern, + ;; make sure the whole text will be redisplayed. + (when (get-text-property start 'font-lock-multiline) + (setq start (or (previous-single-property-change + start 'font-lock-multiline) + (point-min)))) + ;; It's important that the `fontified' property be set from the ;; beginning of the line, else font-lock will properly change the ;; text's face, but the display will have been done already and will ;; be inconsistent with the buffer's content. (goto-char start) (setq start (line-beginning-position)) + ;; Make sure we change at least one char (in case of deletions). (setq end (min (max end (1+ start)) (point-max))) ;; Request refontification. -- 2.39.2