From 7c4ef9b397f9da08ff24f0c8977218f299fdaf18 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Thu, 23 May 2002 03:39:00 +0000 Subject: [PATCH] (font-lock-function): New variable. (font-lock-default-function): New function, created from `font-lock-mode'. (font-lock-mode): Just funcall `font-lock-default-function'. --- lisp/ChangeLog | 3 +++ lisp/font-core.el | 14 +++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 4d1c545b02d..5ab630ecba0 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2002-05-22 Colin Walters + * 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'. diff --git a/lisp/font-core.el b/lisp/font-core.el index 4447ecd4e7b..a00dc787315 100644 --- a/lisp/font-core.el +++ b/lisp/font-core.el @@ -144,6 +144,12 @@ wish to have fontification turned on and off by Font Lock. If this 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 @@ -198,13 +204,19 @@ syntactic change on other lines, you can use \\[font-lock-fontify-block]. 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) -- 2.39.5