summaryrefslogtreecommitdiff
path: root/lisp/font-lock.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2006-08-01 19:09:11 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2006-08-01 19:09:11 +0000
commit2821e1b6f8af1bab644fedd85ba1405b24f15f42 (patch)
tree122ba82646ed44b1894ca02a35399554971af97c /lisp/font-lock.el
parent663e16604c06d8c8961ef5716fc459be5ecfb4ff (diff)
downloademacs-2821e1b6f8af1bab644fedd85ba1405b24f15f42.tar.gz
(font-lock-extend-region-function, font-lock-extend-region):
Move from font-core.el. Simplify.
Diffstat (limited to 'lisp/font-lock.el')
-rw-r--r--lisp/font-lock.el25
1 files changed, 25 insertions, 0 deletions
diff --git a/lisp/font-lock.el b/lisp/font-lock.el
index ecf54895c1c..201d236f7ac 100644
--- a/lisp/font-lock.el
+++ b/lisp/font-lock.el
@@ -975,6 +975,31 @@ The value of this variable is used when Font Lock mode is turned on."
;; directives correctly and cleanly. (It is the same problem as fontifying
;; multi-line strings and comments; regexps are not appropriate for the job.)
+(defvar font-lock-extend-region-function nil
+ "A function that determines the region to fontify after a change.
+
+This variable is either nil, or is a function that determines the
+region to refontify after a change.
+It is usually set by the major mode via `font-lock-defaults'.
+Font-lock calls this function after each buffer change.
+
+The function is given three parameters, the standard BEG, END, and OLD-LEN
+from `after-change-functions'. It should return either a cons of the beginning
+and end buffer positions \(in that order) of the region to fontify, or nil
+\(which directs the caller to fontify a default region). This function
+should preserve point and the match-data.
+The region it returns may start or end in the middle of a line.")
+
+(defun font-lock-extend-region (beg end old-len)
+ "Determine the region to fontify after a buffer change.
+
+BEG END and OLD-LEN are the standard parameters from `after-change-functions'.
+The return value is either nil \(which directs the caller to chose the region
+itself), or a cons of the beginning and end \(in that order) of the region.
+The region returned may start or end in the middle of a line."
+ (if font-lock-extend-region-function
+ (funcall font-lock-extend-region-function beg end old-len)))
+
(defun font-lock-fontify-buffer ()
"Fontify the current buffer the way the function `font-lock-mode' would."
(interactive)