Next: Information from Markers, Previous: Predicates on Markers, Up: Markers [Contents][Index]
マーカーを新たに作成する際は、存在しない場所、ポイントの現在位置、バッファーのアクセス可能範囲の先頭や終端、または別の与えられたマーカーと同じ箇所を指すようにすることができます。
以下の4つの関数はすべて、挿入タイプnil
のマーカーをリターンします。Marker Insertion Typesを参照してください。
この関数は、どこも指さないマーカーを新たに作成してリターンする。
(make-marker) ⇒ #<marker in no buffer>
この関数は、カレントバッファーのポイント現在位置を指すマーカーを新たに作成してリターンする。See Pointを参照のこと。例は以下のcopy-marker
を参照されたい。
この関数は、バッファーのアクセス可能範囲の先頭を指すマーカーを新たに作成してリターンする。ナローイングが効力をもたなければ、これはバッファーの先頭になるだろう。Narrowingを参照のこと。
この関数は、バッファーのアクセス可能範囲の終端を指すマーカーを新たに作成してリターンする。ナローイングが効力をもたなければ、これはバッファーの終端になるだろう。Narrowingを参照のこと。
以下に、このチャプターのテキストのソースファイルのバージョンを含むバッファーにたいして、この関数およびpoint-min-marker
を使用した例を示す。
(point-min-marker) ⇒ #<marker at 1 in markers.texi> (point-max-marker) ⇒ #<marker at 24080 in markers.texi>
(narrow-to-region 100 200) ⇒ nil
(point-min-marker) ⇒ #<marker at 100 in markers.texi>
(point-max-marker) ⇒ #<marker at 200 in markers.texi>
引数としてマーカーを渡されると、copy-marker
はmarker-or-integerが行うようにして、同じバッファーの同じ位置を指すマーカーを新たに作成してリターンする。整数を渡された場合、copy-marker
はカレントバッファーの位置marker-or-integerを指すマーカーを新たに作成してリターンする。
新たなマーカーの挿入タイプは、引数insertion-typeにより指定される。Marker Insertion Typesを参照のこと。
(copy-marker 0) ⇒ #<marker at 1 in markers.texi>
(copy-marker 90000) ⇒ #<marker at 24080 in markers.texi>
markerがマーカーと整数のいずれでもない場合は、エラーがシグナルされる。
2つのマーカーは、それらが同じバッファーの同じ位置、またはどちらも存在しない場所を指す場合は、(eq
ではないものの)equal
とみなされます。
(setq p (point-marker)) ⇒ #<marker at 2139 in markers.texi>
(setq q (copy-marker p)) ⇒ #<marker at 2139 in markers.texi>
(eq p q) ⇒ nil
(equal p q) ⇒ t