Next: , Previous: Kill Ring Concepts, Up: The Kill Ring


31.8.2 キル向けの関数

kill-regionは、テキストをキルするための普通のサブルーティンです。 この関数を呼び出す任意のコマンドは『キルコマンド』です (その名前には‘kill’があるはず)。 kill-regionは、新たにキルされたテキストを キルリングの先頭に新たな項目として追加したり、 もっとも最近の項目に加えます。 まえのコマンドがキルコマンドであるかどうかを (last-commandを使って)自動的に判定し、 もしそうならば、キルされたテキストをもっとも最近の項目に加えます。

— コマンド: kill-region start end

この関数は、startendで定義される領域のテキストをキルする。 テキストは削除されるが、テキスト属性とともにキルリングに保存される。 値はつねにnilである。

対話的に呼ばれると、startendはポイントとマークである。

バッファが読み出し専用であると、 kill-regionはキルリングを同様に変更するが、 バッファを変更せずにエラーを通知する。 読み出し専用バッファからキルリングへテキストをコピーするために、 ユーザーはすべてのキルコマンドを使えるのでこれは便利である。

— User Option: kill-read-only-ok

このオプションがnil以外であると、 kill-regionは、バッファが読み出し専用であってもエラーとしない。 そのかわりに、キルリングを更新しバッファは変更せずに戻る。

— コマンド: copy-region-as-kill start end

このコマンドは、startendで定義される領域を (テキスト属性とともに)キルリングに保存するが、 バッファからテキストを削除しない。 nilを返す。 また、カーソルを一時的に移動してコピーしたテキストの範囲を示すか、 あるいは、エコー領域にメッセージを表示する。

このコマンドはthis-commandkill-regionを設定しないので、 これ以降のキルコマンドはキルリングの同じ項目には加えない。

Emacs 18版でも使うつもりがない限り、 Lispプログラムからはcopy-region-as-killを呼ばないこと。 Emacsの新しい版では、そのかわりにkill-newkill-appendを 使うほうがよい。 see Low-Level Kill Ring