Commit c94d5f40 authored by Stefan Monnier's avatar Stefan Monnier
Browse files

(jit-lock-mode): Use jit-lock-defer-contextually

consistently with its docstring.
Set jit-lock-first-unfontify-pos in an idempotent way.
(jit-lock-register): Autoload and add arg CONTEXTUAL.
parent 2b06561a
......@@ -210,19 +210,19 @@ the variable `jit-lock-stealth-nice'."
'jit-lock-fontify-buffer))
;; Install an idle timer for stealth fontification.
(when (and jit-lock-stealth-time
(null jit-lock-stealth-timer))
(when (and jit-lock-stealth-time (null jit-lock-stealth-timer))
(setq jit-lock-stealth-timer
(run-with-idle-timer jit-lock-stealth-time
jit-lock-stealth-time
'jit-lock-stealth-fontify)))
;; Initialize deferred contextual fontification if requested.
(when (or (eq jit-lock-defer-contextually 'always)
(and (not (eq jit-lock-defer-contextually 'never))
(when (or (eq jit-lock-defer-contextually t)
(and jit-lock-defer-contextually
(boundp 'font-lock-keywords-only)
(null font-lock-keywords-only)))
(setq jit-lock-first-unfontify-pos (point-max)))
(setq jit-lock-first-unfontify-pos
(or jit-lock-first-unfontify-pos (point-max))))
;; Setup our after-change-function
;; and remove font-lock's (if any).
......@@ -252,11 +252,15 @@ the variable `jit-lock-stealth-nice'."
'font-lock-after-change-function nil t))
(remove-hook 'fontification-functions 'jit-lock-function))))
(defun jit-lock-register (fun)
;;;###autoload
(defun jit-lock-register (fun &optional contextual)
"Register FUN as a fontification function to be called in this buffer.
FUN will be called with two arguments START and END indicating the region
that need to be (re)fontified."
that needs to be (re)fontified.
If non-nil, CONTEXTUAL means that a contextual fontification would be useful."
(add-hook 'jit-lock-functions fun nil t)
(when (and contextual jit-lock-defer-contextually)
(set (make-local-variable 'jit-lock-defer-contextually) t))
(jit-lock-mode t))
(defun jit-lock-unregister (fun)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment