Next: , Previous: , Up: Markers   [Contents][Index]


30.3 Functions that Create Markers

マーカーを新たに作成する際は、存在しない場所、ポイントの現在位置、バッファーのアクセス可能範囲の先頭や終端、または別の与えられたマーカーと同じ箇所を指すようにすることができます。

以下の4つの関数はすべて、挿入タイプnilのマーカーをリターンします。Marker Insertion Typesを参照してください。

Function: make-marker

この関数は、どこも指さないマーカーを新たに作成してリターンする。

(make-marker)
     ⇒ #<marker in no buffer>
Function: point-marker

この関数は、カレントバッファーのポイント現在位置を指すマーカーを新たに作成してリターンする。See Pointを参照のこと。例は以下のcopy-markerを参照されたい。

Function: point-min-marker

この関数は、バッファーのアクセス可能範囲の先頭を指すマーカーを新たに作成してリターンする。ナローイングが効力をもたなければ、これはバッファーの先頭になるだろう。Narrowingを参照のこと。

Function: point-max-marker

この関数は、バッファーのアクセス可能範囲の終端を指すマーカーを新たに作成してリターンする。ナローイングが効力をもたなければ、これはバッファーの終端になるだろう。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>
Function: copy-marker &optional marker-or-integer insertion-type

引数としてマーカーを渡されると、copy-markermarker-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