つぎのサブルーティンは転置コマンドで使われます。
この関数は、バッファの重なり合わない2つの部分を入れ換える。 引数start1とend1で一方の部分の境界を指定し、 引数start2とend2で他方の部分の境界を指定する。
通常、
transpose-regions
は転置したテキスト内のマーカを再配置する。 つまり、2つの転置部分の一方の内側を指していたマーカは その部分とともに移動して、新しい位置で同じ2つの文字のあいだに留まる。 しかし、leave-markersがnil
以外であると、transpose-regions
はこれを行わず、 すべてのマーカは再配置されない。