コーディングシステムの主目的は、ファイルの読み書きに使うことです。
関数insert-file-contents
はファイルのデータを復号化するために
コーディングシステムを使い、
write-region
はバッファ内容を符号化するために
コーディングシステムを使います。
使用するコーディングシステムを明示する(see Specifying Coding Systems)
こともできるし、
デフォルトの機構(see Default Coding Systems)を暗に使うこともできます。
しかし、これらの方式ではすべきことを完全に指定しきれないこともあります。
たとえば、undefined
のようなコーディングシステムを選んで、
データに基づいて文字コード変換を行うようにするかもしれません。
そのような場合、コーディングシステムの選択は
入出力操作によって完了します。
しばしば、選択されたコーディングシステムをあとで知りたくなります。
この変数は、カレントバッファで訪問するときに使用した コーディングシステムを記録する。 これは、バッファを保存したり、
write-region
でバッファの一部を書くときに使われる。 これらの操作において、ユーザーに別のコーディングシステムを指定するように 問い合わせた場合には、buffer-file-coding-system
は 指定された別のコーディングシステムに更新される。
この変数は、
write-region
には使わないが、 バッファを保存するために使うコーディングシステムを指定する。 バッファを保存する際に、ユーザーに別のコーディングシステムを指定するように 問い合わせ、かつ、save-buffer-coding-system
を用いている場合には、 これは指定された別のコーディングシステムに更新される。
ファイルやサブプロセスに対する入出力操作では、 使用したコーディングシステム名をこの変数に設定する。 明示的に符号化/復号化する関数(see Explicit Encoding)も この変数に設定する。
警告: サブプロセスから出力を受け取るとこの変数が設定されるため、 Emacsが待つたびに変化する可能性がある。 したがって、読者の興味がある値を保存するような関数を呼び出した直後に その値をコピーして使うこと。
変数selection-coding-system
は、
ウィンドウシステムのセレクションを符号化する方法を指定します。
See Window System Selections。