# HG changeset patch # User Stefan Monnier # Date 970781402 0 # Node ID f3afd1ff75a83d2b9be22a195aa1720ec0e846a2 # Parent 0ec7632bc886b2de89b1a1560b4e95564da7d5dd (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. diff -r 0ec7632bc886 -r f3afd1ff75a8 lisp/jit-lock.el --- 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)