Next: , Previous: , Up: The Kill Ring   [Contents][Index]


31.8.2 killリングのための関数

kill-regionはテキストkill用の通常サブルーチンです。この関数を呼び出すすべてのコマンドはkillコマンドです(そして恐らくは名前に‘kill’が含まれる)。kill-regionは新たにkillされたテキストをkillリング内の最初の要素内に置くか、それをもっとも最近の要素に追加します。これは前のコマンドがkillコマンドか否かを、(last-commandを使用して)自動的に判別して、もしkillコマンドならkillされたテキストをもっとも最近のエントリーに追加します。

以下で説明するコマンドはkillされるテキストがkillリングに保存される前に、それらをフィルターできます。これらの関数は、このフィルタリングを行うためにfilter-buffer-substringを呼び出します(Buffer Contentsを参照)。デフォルトではこれらはフィルタリングを行いませんが、バッファーにあったときと異なるようにテキストをkillリングに保存するために、マイナーモードとフック関数はフィルタリングをセットアップできます。

Command: kill-region start end &optional region

この関数はstartendの間のテキスト範囲をkillするが、オプション引数regionが非nilなら、かわりにカレントリージョンのテキストをkillする。そのテキストは削除されるが、そのテキストプロパティと共にkillリングに保存される。値は常にnil

インタラクティブな呼び出しではstartendはポイントとマークでregionは常に非nilなので、このコマンドは常にカレントリージョン内のテキストをkillする。

バッファーまたはテキストが読み取り専用なら、kill-regionは同じようにkillリングを変更後に、バッファーを変更せずにエラーをシグナルする。これはユーザーが一連のkillコマンドで、読み取り専用バッファーからkillリングにテキストをコピーするのに有用。

User Option: kill-read-only-ok

このオプションが非nilなら、バッファーやテキストが読み取り専用でもkill-regionはエラーをシグナルしない。かわりにバッファーを変更せずにkillリングを更新して単にリターンする。

Command: copy-region-as-kill start end &optional region

この関数はstartendの間のテキスト範囲(テキストプロパティを含む)をkillリングに保存するが、バッファーからそのテキストを削除しない。しかしオプション引数regionが非nilなら、この関数はstartendを無視して、かわりにカレントリージョンを保存する。この関数は常にnilをリターンする。

インタラクティブな呼び出しではstartendはポイントとマークでregionは常に非nilなので、このコマンドは常にカレントリージョン内のテキストをkillする。

このコマンドは後続のkillコマンドが同一のkillリングエントリーに追加しないように、this-commandkill-regionをセットしない。