GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/elisp/Other-Font-Lock-Variables.html ・ emacs-doc.conao3.com

24.7.4 その他の Font Lock 変数

本節では、メジャーモードが font-lock-defaults 内の other-vars を用いて設定できる追加の変数について説明します(Font Lock の基本 を参照)。

変数: font-lock-mark-block-function

この変数が nil 以外の場合、M-x font-lock-fontify-block コマンドで再フォント化を行うための包含テキスト範囲を選択すべく、引数なしで呼び出される関数である必要があります。

関数は、選択範囲を囲むことでその選択結果を報告する必要があります。適切な選択範囲とは、適切な結果が得られる十分な広さがありつつ、再フォント化が遅くなるほど広すぎないテキスト範囲のことです。代表的な値としては、プログラミングモードでは mark-defun、テキストモードでは mark-paragraph が挙げられます。

変数: font-lock-extra-managed-props

この変数は、Font Lock モードで管理される追加のプロパティ(font-lock-face 以外)を指定します。通常は font-lock-face プロパティのみを管理する font-lock-default-unfontify-region で使用されます。Font Lock に他のプロパティも管理させたい場合は、このリストに追加するとともに、font-lock-keywords 内の facespec でもそれらを指定する必要があります。検索ベースのフォント化 を参照してください。

変数: font-lock-fontify-buffer-function

バッファのフォント化に使用する関数。デフォルト値は font-lock-default-fontify-buffer です。

変数: font-lock-unfontify-buffer-function

バッファのフォント化を解除する際に使用する関数。Font Lockモードをオフにする際に使用される。デフォルト値は font-lock-default-unfontify-buffer である。

変数: font-lock-fontify-region-function

リージョンをフォント化するために使用する関数。リージョンの開始位置と終了位置の2つの引数と、オプションの第3引数 verbose を受け取る必要があります。verbose が nil 以外の場合、この関数はステータスメッセージを出力する必要があります。デフォルト値は font-lock-default-fontify-region です。

変数: font-lock-unfontify-region-function

領域のアンフォント化に使用する関数。領域の開始位置と終了位置の2つの引数を取る必要があります。デフォルト値は font-lock-default-unfontify-region です。

変数: font-lock-flush-function

リージョンのフォント化が古くなっていることを宣言するための関数です。リージョンの開始位置と終了位置の2つの引数を取ります。この変数のデフォルト値は font-lock-after-change-function です。

変数: font-lock-ensure-function

現在のバッファのリージョンがフォント化されていることを確認するための関数です。リージョンの開始位置と終了位置の2つの引数で呼び出されます。この変数のデフォルト値は、バッファがフォント化されていない場合に font-lock-default-fontify-buffer を呼び出す関数であり、これによりバッファのアクセス可能な全領域がフォント化されることが保証されます。

関数: jit-lock-register function &optional contextual

この関数は、Font Lockモードに対し、現在のバッファの一部をフォント化または再フォント化する必要があるたびに、Lisp関数 function を実行するよう指示します。デフォルトのフォント化関数を呼び出す前に function を呼び出し、フォント化または再フォント化の対象となる領域を指定する2つの引数 start と end を渡します。function がフォント化を行う場合、実際にフォント化した領域の範囲を示す (jit-lock-bounds beg . end) 形式のリストを返すことができます。Just-In-Time(別名 “JIT”)フォントロックはこの情報を利用して、後続の再表示サイクルや、今後の function 呼び出しに渡すバッファテキストの領域を最適化します。

オプション引数 contextual は、nil 以外の場合、Font Lock モードにおいて、変更された行だけでなく、バッファ内の構文的に意味のある部分を常に再フォント化するように強制します。この引数は通常、省略可能です。

バッファで Font Lock が有効になると、font-lock-keywords-only の値(Syntactic Font Lock を参照)が nil である場合、contextual に nil 以外の値を渡してこの関数を呼び出します。

関数: jit-lock-unregister function

function が以前に jit-lock-register を用いてフォント化関数として登録されていた場合、この関数はそれを登録解除します。

コマンド: jit-lock-debug-mode &optional arg

これは、JIT font-lock で実行されるコードのデバッグを支援するためのマイナーモードです。このモードを有効にすると、Lisp エラーが抑制される再表示サイクル中に JIT font-lock が通常実行するコードの大部分が、代わりにタイマーによって実行されるようになります。これにより、debug-on-error(エラー発生時のデバッガ起動を参照)や Edebug(Edebugを参照)といったデバッグ支援機能を用いて、font-lock のコードや JIT font-lock で実行されるその他のコードの問題を特定し、修正することが可能になります。font-lock の開発およびデバッグにおいて有用なもう一つのコマンドに font-lock-debug-fontify があります。Font Lock の基本を参照してください。