Commit 642b63e8 authored by Luc Teirlinck's avatar Luc Teirlinck
Browse files

(font-lock-mode-major-mode): Compiler defvar.

(font-lock-mode): Update `font-lock-mode-major-mode'.
(font-lock-set-defaults): Compiler defvar.
(font-lock-default-function): Take `font-lock-mode-major-mode' into account.
parent 876daebc
......@@ -88,6 +88,8 @@ settings. See the variable `font-lock-defaults', which takes precedence.")
It will be passed one argument, which is the current value of
;; The mode for which font-lock was initialized, or nil if none.
(defvar font-lock-mode-major-mode)
(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
......@@ -156,7 +158,9 @@ your own function which is called when `font-lock-mode' is toggled via
;; Arrange to unfontify this buffer if we change major mode later.
(if font-lock-mode
(add-hook 'change-major-mode-hook 'font-lock-change-mode nil t)
(remove-hook 'change-major-mode-hook 'font-lock-change-mode t)))
(remove-hook 'change-major-mode-hook 'font-lock-change-mode t))
(when font-lock-mode
(setq font-lock-mode-major-mode major-mode)))
;; Get rid of fontification for the old major mode.
;; We do this when changing major modes.
......@@ -175,6 +179,7 @@ this function onto `change-major-mode-hook'."
(restore-buffer-modified-p modp)))
(defvar font-lock-set-defaults)
(defun font-lock-default-function (mode)
;; Turn on Font Lock mode.
(when mode
......@@ -201,9 +206,14 @@ this function onto `change-major-mode-hook'."
;; Only do hard work if the mode has specified stuff in
;; `font-lock-defaults'.
(when (or font-lock-defaults
(and (boundp 'font-lock-keywords) font-lock-keywords)
(if (boundp 'font-lock-keywords) font-lock-keywords)
(cdr (assq major-mode font-lock-defaults-alist))))
(cdr (assq major-mode font-lock-defaults-alist)))
(and mode
(boundp 'font-lock-set-defaults)
(not (eq font-lock-mode-major-mode major-mode))))
(font-lock-mode-internal mode)))
(defun turn-on-font-lock ()
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