[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/font-lock.el,v
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/font-lock.el,v |
Date: |
Tue, 01 Aug 2006 18:58:20 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Stefan Monnier <monnier> 06/08/01 18:58:19
Index: font-lock.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/font-lock.el,v
retrieving revision 1.297
retrieving revision 1.298
diff -u -b -r1.297 -r1.298
--- font-lock.el 9 May 2006 04:07:25 -0000 1.297
+++ font-lock.el 1 Aug 2006 18:58:18 -0000 1.298
@@ -893,7 +893,11 @@
(set (make-local-variable 'font-lock-fontified) t)
;; Use jit-lock.
(jit-lock-register 'font-lock-fontify-region
- (not font-lock-keywords-only))))))
+ (not font-lock-keywords-only))
+ ;; Tell jit-lock how we extend the region to refontify.
+ (add-hook 'jit-lock-after-change-extend-region-functions
+ 'font-lock-extend-jit-lock-region-after-change
+ nil t)))))
(defun font-lock-turn-off-thing-lock ()
(cond ((and (boundp 'fast-lock-mode) fast-lock-mode)
@@ -1096,6 +1100,35 @@
end (progn (goto-char end) (line-beginning-position 2))))
(font-lock-fontify-region beg end)))))
+(defvar jit-lock-start) (defvar jit-lock-end)
+(defun font-lock-extend-jit-lock-region-after-change (beg end old-len)
+ (let ((region (font-lock-extend-region beg end old-len)))
+ (if region
+ (setq jit-lock-start (min jit-lock-start (car region))
+ jit-lock-end (max jit-lock-end (cdr region)))
+ (save-excursion
+ (goto-char beg)
+ (forward-line 0)
+ (setq jit-lock-start
+ (min jit-lock-start
+ (if (and (not (eobp))
+ (get-text-property (point) 'font-lock-multiline))
+ (or (previous-single-property-change
+ (point) 'font-lock-multiline)
+ (point-min))
+ (point))))
+ (goto-char end)
+ (forward-line 1)
+ (setq jit-lock-end
+ (max jit-lock-end
+ (if (and (not (bobp))
+ (get-text-property (1- (point))
+ 'font-lock-multiline))
+ (or (next-single-property-change
+ (1- (point)) 'font-lock-multiline)
+ (point-max))
+ (point))))))))
+
(defun font-lock-fontify-block (&optional arg)
"Fontify some lines the way `font-lock-fontify-buffer' would.
The lines could be a function or paragraph, or a specified number of lines.
- [Emacs-diffs] Changes to emacs/lisp/font-lock.el,v,
Stefan Monnier <=
- [Emacs-diffs] Changes to emacs/lisp/font-lock.el,v, Stefan Monnier, 2006/08/01
- [Emacs-diffs] Changes to emacs/lisp/font-lock.el,v, Stefan Monnier, 2006/08/03
- [Emacs-diffs] Changes to emacs/lisp/font-lock.el,v, Stefan Monnier, 2006/08/03
- [Emacs-diffs] Changes to emacs/lisp/font-lock.el,v, Stefan Monnier, 2006/08/07
- [Emacs-diffs] Changes to emacs/lisp/font-lock.el,v, Stefan Monnier, 2006/08/07
- [Emacs-diffs] Changes to emacs/lisp/font-lock.el,v, Stefan Monnier, 2006/08/07
- [Emacs-diffs] Changes to emacs/lisp/font-lock.el,v, Stefan Monnier, 2006/08/16