23.6.4 Other Font Lock Variables
This section describes additional variables that a major mode can set by means of other-vars
in font-lock-defaults
(see Font Lock Basics).
variable
font-lock-mark-block-functionβ
If this variable is non-nil
, it should be a function that is called with no arguments, to choose an enclosing range of text for refontification for the command M-o M-o
(font-lock-fontify-block
).
The function should report its choice by placing the region around it. A good choice is a range of text large enough to give proper results, but not too large so that refontification becomes slow. Typical values are mark-defun
for programming modes or mark-paragraph
for textual modes.
variable
font-lock-extra-managed-propsβ
This variable specifies additional properties (other than font-lock-face
) that are being managed by Font Lock mode. It is used by font-lock-default-unfontify-region
, which normally only manages the font-lock-face
property. If you want Font Lock to manage other properties as well, you must specify them in a facespec
in font-lock-keywords
as well as add them to this list. See Search-based Fontification.
variable
font-lock-fontify-buffer-functionβ
Function to use for fontifying the buffer. The default value is font-lock-default-fontify-buffer
.
variable
font-lock-unfontify-buffer-functionβ
Function to use for unfontifying the buffer. This is used when turning off Font Lock mode. The default value is font-lock-default-unfontify-buffer
.
variable
font-lock-fontify-region-functionβ
Function to use for fontifying a region. It should take two arguments, the beginning and end of the region, and an optional third argument verbose
. If verbose
is non-nil
, the function should print status messages. The default value is font-lock-default-fontify-region
.
variable
font-lock-unfontify-region-functionβ
Function to use for unfontifying a region. It should take two arguments, the beginning and end of the region. The default value is font-lock-default-unfontify-region
.
variable
font-lock-flush-functionβ
Function to use for declaring that a regionβs fontification is out of date. It takes two arguments, the beginning and end of the region. The default value of this variable is font-lock-after-change-function
.
variable
font-lock-ensure-functionβ
Function to use for making sure a region of the current buffer has been fontified. It is called with two arguments, the beginning and end of the region. The default value of this variable is a function that calls font-lock-default-fontify-buffer
if the buffer is not fontified; the effect is to make sure the entire accessible portion of the buffer is fontified.
function
jit-lock-register function \&optional contextualβ
This function tells Font Lock mode to run the Lisp function function
any time it has to fontify or refontify part of the current buffer. It calls function
before calling the default fontification functions, and gives it two arguments, start
and end
, which specify the region to be fontified or refontified.
The optional argument contextual
, if non-nil
, forces Font Lock mode to always refontify a syntactically relevant part of the buffer, and not just the modified lines. This argument can usually be omitted.
When Font Lock is activated in a buffer, it calls this function with a non-nil
value of contextual
if the value of font-lock-keywords-only
(see Syntactic Font Lock) is nil
.
function
jit-lock-unregister functionβ
If function
was previously registered as a fontification function using jit-lock-register
, this function unregisters it.