この節では、ユーザーが閉じ括弧を挿入した際に、Emacs が対応する開き括弧を表示する仕組みについて説明します。
この変数の値は、閉じ括弧の構文を持つ文字が挿入されるたびに呼び出される(引数なしの)関数である必要があります。blink-paren-function の値は nil
となる場合があり、その場合は何も行われません。
この変数が nil の場合、blink-matching-open は何もしません。
この変数は、探索を断念するまでに一致する括弧をスキャンする最大距離を指定します。
この変数は、対応する括弧を表示し続ける秒数を指定します。0.1秒単位の値でも良好な結果が得られることが多いですが、デフォルトは1となっており、あらゆるシステムで動作します。
この関数は blink-paren-function
のデフォルト値です。ポイントが閉じ括弧構文を持つ文字の後にあると想定し、対応する開き文字に一時的に適切な効果を適用します。その文字がまだ画面に表示されていない場合は、エコー領域にその文字のコンテキストを表示します。長い遅延を避けるため、この関数は
blink-matching-paren-distance 文字より先まで検索しません。
この関数を明示的に呼び出す例を以下に示します。
(defun interactive-blink-matching-open () "Indicate momentarily the start of parenthesized sexp before point." (interactive)
(let ((blink-matching-paren-distance
(buffer-size))
(blink-matching-paren t))
(blink-matching-open)))