ポイント周辺の文字を調べるための関数が数多く用意されています。ここでは、いくつかのシンプルな関数について説明します。また、正規表現による検索のlooking-atも参照してください。
以下の4つの関数において、バッファの「先頭」または「末尾」とは、アクセス可能な領域の先頭または末尾を指します。
この関数は、現在のバッファ内の位置 position(すなわちその直後)にある文字を返します。position がこの目的において範囲外(バッファの先頭より前、または末尾もしくはそれ以降)である場合、値は
nil となります。position のデフォルト値は
point です。
以下の例では、バッファの先頭文字が ‘@’ であると仮定します。
(string (char-after 1))
⇒ "@"
この関数は、現在のバッファにおいて位置 position の直前にある文字を返します。position がこの目的において範囲外(バッファの先頭またはそれ以前、あるいは末尾以降)である場合、値は
nil となります。position のデフォルト値は
point です。
この関数は、現在のバッファにおいてポイントの次の文字を返します。これは (char-after
(point)) と同様です。ただし、ポイントがバッファの末尾にある場合、following-char は 0 を返します。
その点は常に文字間にあり、通常カーソルはその点の次の文字の上に表示されることに注意してください。したがって、following-char が返す文字は、カーソルが位置している文字となります。
この例では、pointは‘a’と‘c’の間にあります。
---------- Buffer: foo ---------- Gentlemen may cry ``Pea∗ce! Peace!,'' but there is no peace. ---------- Buffer: foo ----------
(string (preceding-char))
⇒ "a"
(string (following-char))
⇒ "c"
この関数は、現在のバッファにおいてポイントの直前の文字を返します。例については、上記の following-char を参照してください。ポイントがバッファの先頭にある場合、preceding-char は 0 を返します。
この関数は、point がバッファの先頭にある場合に t
を返します。狭域化が適用されている場合は、テキストのアクセス可能な部分の先頭を意味します。Point の point-min も参照してください。
この関数は、point がバッファの末尾にある場合に t
を返します。ナローイングが適用されている場合、これはテキストのアクセス可能な部分の末尾を意味します。Point の point-max も参照してください。
この関数は、point が行頭にある場合に t を返します。テキスト行単位の移動
を参照してください。バッファ(またはそのアクセス可能な部分)の先頭は、常に行頭とみなされます。
この関数は、point が行末にある場合に t
を返します。バッファ(またはそのアクセス可能な部分)の末尾は、常に行末とみなされます。