]> git.eshelyaron.com Git - emacs.git/commitdiff
(jit-lock-after-change): If we're in text that
authorGerd Moellmann <gerd@gnu.org>
Mon, 16 Oct 2000 13:04:34 +0000 (13:04 +0000)
committerGerd Moellmann <gerd@gnu.org>
Mon, 16 Oct 2000 13:04:34 +0000 (13:04 +0000)
matches a multi-line font-lock pattern, make sure the whole text
will be redisplayed.

lisp/jit-lock.el

index bba9122a9c4977c00427110612ee9b7e4660c3b1..0445d6639f0bb330a4916dc9a19d73e98844efb8 100644 (file)
@@ -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.