Mercurial > emacs
changeset 32181:f3afd1ff75a8
(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.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Thu, 05 Oct 2000 21:30:02 +0000 |
parents | 0ec7632bc886 |
children | f5d09b70a4b8 |
files | lisp/jit-lock.el |
diffstat | 1 files changed, 11 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/jit-lock.el Thu Oct 05 21:18:30 2000 +0000 +++ b/lisp/jit-lock.el Thu Oct 05 21:30:02 2000 +0000 @@ -210,19 +210,19 @@ '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 @@ '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)