2002-05-22 Colin Walters <walters@cis.ohio-state.edu>
+ * info.el (Info-mode-hook): Change `font-lock-mode' to
+ `turn-on-font-lock'.
+
* font-core.el (font-lock-function): New variable.
(font-lock-default-function): New function, created from
`font-lock-mode'.
variable is non-nil, then calling `font-lock-mode' will simply toggle
the symbol property `face' of CATEGORY-SYMBOL.")
+(defvar font-lock-function 'font-lock-default-function
+ "A function which is called when `font-lock-mode' is toggled.
+It will be passed one argument, which is the current value of
+`font-lock-mode'.")
+(make-variable-buffer-local 'font-lock-default-function)
+
(define-minor-mode font-lock-mode
"Toggle Font Lock mode.
With arg, turn Font Lock mode off if and only if arg is a non-positive
See the variable `font-lock-defaults-alist' for the Font Lock mode default
settings. You can set your own default settings for some mode, by setting a
-buffer local value for `font-lock-defaults', via its mode hook."
+buffer local value for `font-lock-defaults', via its mode hook.
+
+The above is the default behavior of `font-lock-mode'; you may specify
+your own function which is called when `font-lock-mode' is toggled via
+`font-lock-function'. "
nil nil nil
;; Don't turn on Font Lock mode if we don't have a display (we're running a
;; batch job) or if the buffer is invisible (the name starts with a space).
(when (or noninteractive (eq (aref (buffer-name) 0) ?\ ))
(setq font-lock-mode nil))
+ (funcall font-lock-function font-lock-mode))
+(defun font-lock-default-function (font-lock-mode)
;; Turn on Font Lock mode.
(when font-lock-mode
(font-lock-set-defaults)