Next: , Previous: Marker Insertion Types, Up: Markers


30.6 マーカ位置の移動

本節では、既存のマーカの位置を変更する方法について述べます。 これを行うときには、読者のプログラムの外側で 当該マーカが使われているかどうか、 使われているときには移動による効果はなにかを確実に理解してください。 さもないと、Emacsの別の部分で混乱を生じるかもしれません。

— Function: set-marker marker position &optional buffer

この関数は、bufferにおいてmarkerpositionへ移動する。 bufferを与えないと、デフォルトはカレントバッファである。

positionが1未満であると、 set-markermarkerをバッファの先頭へ移動する。 positionがバッファのサイズよりも大きいと、 set-markermarkerをバッファの末尾へ移動する。 positionnilであったりどこも指していないマーカであると、 markerはどこも指さないようにする。

戻り値はmarkerである。

          (setq m (point-marker))
               ⇒ #<marker at 4714 in markers.texi>
          (set-marker m 55)
               ⇒ #<marker at 55 in markers.texi>
          (setq b (get-buffer "foo"))
               ⇒ #<buffer foo>
          (set-marker m 0 b)
               ⇒ #<marker at 1 in foo>
— Function: move-marker marker position &optional buffer

これはset-markerの別名である。