次: Yank Commands, 前: Kill Ring Concepts, 上: The Kill Ring
kill-region
は、テキストをキルするための普通のサブルーティンです。
この関数を呼び出す任意のコマンドは『キルコマンド』です
(その名前には`kill'があるはず)。
kill-region
は、新たにキルされたテキストを
キルリングの先頭に新たな項目として追加したり、
もっとも最近の項目に加えます。
まえのコマンドがキルコマンドであるかどうかを
(last-command
を使って)自動的に判定し、
もしそうならば、キルされたテキストをもっとも最近の項目に加えます。
この関数は、startとendで定義される領域のテキストをキルする。 テキストは削除されるが、テキスト属性とともにキルリングに保存される。 値はつねに
nil
である。対話的に呼ばれると、startとendはポイントとマークである。
バッファが読み出し専用であると、
kill-region
はキルリングを同様に変更するが、 バッファを変更せずにエラーを通知する。 読み出し専用バッファからキルリングへテキストをコピーするために、 ユーザーはすべてのキルコマンドを使えるのでこれは便利である。
このオプションが
nil
以外であると、kill-region
は、バッファが読み出し専用であってもエラーとしない。 そのかわりに、キルリングを更新しバッファは変更せずに戻る。
このコマンドは、startとendで定義される領域を (テキスト属性とともに)キルリングに保存するが、 バッファからテキストを削除しない。
nil
を返す。 また、カーソルを一時的に移動してコピーしたテキストの範囲を示すか、 あるいは、エコー領域にメッセージを表示する。このコマンドは
this-command
にkill-region
を設定しないので、 これ以降のキルコマンドはキルリングの同じ項目には加えない。Emacs 18版でも使うつもりがない限り、 Lispプログラムからは
copy-region-as-kill
を呼ばないこと。 Emacsの新しい版では、そのかわりにkill-new
やkill-append
を 使うほうがよい。 see Low-Level Kill Ring。