GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/elisp/Kill-Functions.html ・ emacs-doc.conao3.com

33.8.2 キル用の関数

kill-region は、テキストをキルするための標準的なサブルーチンです。この関数を呼び出すコマンドはすべてキルコマンドとなります(おそらく、名称に ‘kill’ を含めるべきでしょう)。kill-region は、新たにキルされたテキストをキルリングの先頭にある新しい要素に配置するか、直近の要素に追加します。また、(last-command を用いて)直前のコマンドがキルコマンドであったかどうかを自動的に判定し、そうであればキルされたテキストを直近のエントリに追記します。

以下に説明するコマンドは、キルリングに保存する前に、キルされたテキストをフィルタリングできます。これらのコマンドは、フィルタリングを行うために filter-buffer-substring(バッファ内容の確認を参照)を呼び出します。デフォルトではフィルタリングは行われませんが、メジャーモードやマイナーモード、およびフック関数でフィルタリングを設定できるため、キルリングに保存されるテキストをバッファ内の内容とは異なるものにすることが可能です。

コマンド: kill-region start end &optional region

この関数は、start と end の間にあるテキスト範囲をキルします。ただし、オプション引数 region が nil 以外の場合、start と end は無視され、代わりに現在のリージョン内のテキストがキルされます。テキストは削除されますが、テキストプロパティと共にキルリングに保存されます。値は常に nil となります。

インタラクティブコールでは、start と end がポイントとマークであり、region は常に non-nil であるため、このコマンドは常に現在のリージョン内のテキストを消去します。

バッファやテキストが読み取り専用の場合、kill-region は同様にキルリングを変更し、その後バッファを変更することなくエラーを通知します。これにより、ユーザーは一連のキルコマンドを用いて、読み取り専用バッファからキルリングへテキストをコピーできるため便利です。

ユーザーオプション: kill-read-only-ok

このオプションが nil 以外の場合、バッファやテキストが読み取り専用であっても kill-region はエラーを通知しません。代わりに単に戻り、キルリングを更新しますが、バッファは変更しません。

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

この関数は、start から end までのテキスト範囲をキルリングに保存しますが(テキストプロパティを含む)、バッファからテキストを削除することはありません。ただし、オプション引数 region が nil 以外の場合、この関数は start と end を無視し、代わりに現在のリージョンを保存します。戻り値は常に nil となります。

インタラクティブコールでは、start と end がポイントとマークであり、region は常に non-nil であるため、このコマンドは常に現在のリージョン内のテキストを保存します。

このコマンドは this-command を kill-region に設定しないため、後続の kill コマンドが同じ kill ring エントリに追記することはありません。