次: The Buffer List, 前: Modification Time, 上: Buffers
バッファが読み出し専用(read-only)であると、 スクロールしたりナロイングしてその内容を眺めることはできますが、 その内容は変更できません。
読み出し専用バッファは、2種類の場面で使われます。
ここでの目的は、バッファを編集してファイルに保存しようとしても それに失敗するか望ましくないことであることをユーザーに伝えることである。 それにも関わらずバッファのテキストを変更したいユーザーは、 読み出し専用フラグをC-x C-qでクリアすれば編集できる。
これらのモードの特別なコマンドは、
それら自身がテキストを変更する場面では、
(letで)buffer-read-onlyにnilを束縛したり、
inhibit-read-onlyにtを束縛する。
この変数が
nil以外であると、 読み出し専用バッファや読み出し専用文字を変更できる。 バッファ内の読み出し専用文字とは (テキスト属性やオーバレイ属性の) 属性read-onlyがnil以外の文字である。 テキスト属性について詳しくは、see Special Properties。 重ね合わせとそれらの属性について詳しくは、see Overlays。
inhibit-read-onlyがtであると、 すべての文字の属性read-onlyは効果を失う。inhibit-read-onlyがリストであると、 文字の属性read-onlyが(eqで比較して) リストのメンバであると効果を失う。
このコマンドは、カレントバッファが読み出し専用かどうかを変更する。 対話的な使用を意図しており、プログラムからは使わないこと。 プログラムの任意の箇所で、読み出し専用フラグを オンにしたいかオフにしたいかを読者は知っているはずであり、 そうすれば、読者は
buffer-read-onlyをtかnilの正しい値に明示的に設定できる。
この関数は、カレントバッファが読み出し専用であると エラー
buffer-read-onlyを通知する。 カレントバッファが読み出し専用であるときに エラーを通知する別の方法については、see Interactive Call。