kill-region
はテキストkill用の通常サブルーチンです。この関数を呼び出すすべてのコマンドはkillコマンドです(そして恐らくは名前に‘kill’が含まれる)。kill-region
は新たにkillされたテキストをkillリング内の最初の要素内に置くか、それをもっとも最近の要素に追加します。これは前のコマンドがkillコマンドか否かを、(last-command
を使用して)自動的に判別して、もしkillコマンドならkillされたテキストをもっとも最近のエントリーに追加します。
以下で説明するコマンドはkillされるテキストがkillリングに保存される前に、それらをフィルターできます。これらの関数は、このフィルタリングを行うためにfilter-buffer-substring
を呼び出します(バッファーのコンテンツを調べるを参照)。デフォルトではこれらはフィルタリングを行いませんが、バッファーにあったときと異なるようにテキストをkillリングに保存するために、マイナーモードとフック関数はフィルタリングをセットアップできます。
この関数はstartとendの間のテキスト範囲をkillするが、オプション引数regionが非nil
なら、かわりにカレントリージョンのテキストをkillする。そのテキストは削除されるが、そのテキストプロパティと共にkillリングに保存される。値は常にnil
。
インタラクティブな呼び出しではstartとendはポイントとマークでregionは常に非nil
なので、このコマンドは常にカレントリージョン内のテキストをkillする。
バッファーまたはテキストが読み取り専用なら、kill-region
は同じようにkillリングを変更後に、バッファーを変更せずにエラーをシグナルする。これはユーザーが一連のkillコマンドで、読み取り専用バッファーからkillリングにテキストをコピーするのに有用。
このオプションが非nil
なら、バッファーやテキストが読み取り専用でもkill-region
はエラーをシグナルしない。かわりにバッファーを変更せずにkillリングを更新して単にリターンする。
この関数はstartとendの間のテキスト範囲(テキストプロパティを含む)をkillリングに保存するが、バッファーからそのテキストを削除しない。しかしオプション引数regionが非nil
なら、この関数はstartとendを無視して、かわりにカレントリージョンを保存する。この関数は常にnil
をリターンする。
インタラクティブな呼び出しではstartとendはポイントとマークでregionは常に非nil
なので、このコマンドは常にカレントリージョン内のテキストをkillする。
このコマンドは後続のkillコマンドが同一のkillリングエントリーに追加しないように、this-command
にkill-region
をセットしない。