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