elisp: Other Font Lock Variables
22.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’ (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.
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.
-- Function: jit-lock-unregister function
If FUNCTION was previously registered as a fontification function
using ‘jit-lock-register’, this function unregisters it.