B.6.1 バッファの内部
バッファには、Lispプログラマが直接には参照できないフィールドがあります。
それらをCのコードで使っている名前で以下に述べます。
多くはLisp基本関数を介してLispプログラムから間接的に参照できます。
name-
バッファ名はバッファを指名する文字列である。
これは一意であることが保証される。
see Buffer Names。
save_modified-
このフィールドは、バッファが最後に保存された時刻を整数で保持する。
see Buffer Modification。
modtime-
このフィールドは、訪問しているファイルの更新時刻を保持している。
これはファイルを読み書きしたときに設定される。
バッファをファイルに書き込むたびに、
このフィールドとファイルの更新時刻を比較する。
see Buffer Modification。
auto_save_modified-
このフィールドは、バッファを最後に自動保存した時刻を保持する。
last_window_start-
このフィールドは、バッファをウィンドウに最後に表示したときの
バッファの
window-start(表示開始)位置を保持する。
undo_list-
このフィールドは、バッファのアンドゥリストを保持する。
see Undo。
syntax_table_v-
このフィールドは、バッファの構文テーブルを保持する。
see Syntax Tables。
downcase_table-
このフィールドは、テキストを小文字に変換するための変換表を保持する。
see Case Tables。
upcase_table-
このフィールドは、テキストを大文字に変換するための変換表を保持する。
see Case Tables。
case_canon_table-
このフィールドは、大文字小文字を区別しない探索のために
テキストを正則にするための変換表を保持する。
see Case Tables。
case_eqv_table-
このフィールドは、大文字小文字を区別しない探索のための
同値テーブルを保持する。
see Case Tables。
display_table-
このフィールドは、バッファの表示テーブルを保持する。
表示テーブルがなければ
nilである。
see Display Tables。
markers-
このフィールドは、バッファを現在指しているすべてのマーカの連鎖を
保持している。
バッファからテキストを削除したり、バッファのギャップが移動すると、
これらのマーカのおのおのを検査し更新する必要がある。
see Markers。
backed_up-
このフィールドは、このバッファで訪問しているファイルの
バックアップファイルを作成したかどうかを表すフラグである。
mark-
このフィールドは、バッファのマークを保持する。
マークはマーカであり、そのためリスト
markersにも含まれている。
see The Mark。
mark_active-
バッファのマークが活性であれば、
このフィールドは
nil以外である。
local_var_alist-
このフィールドは、このバッファにバッファローカルな変数を記述した
連想リストを保持している。
バッファオブジェクトに特別な場所がある組み込みのバッファローカルな変数は
含まない。
(それらはこの一覧では省いた。)
see Buffer-Local Variables。
base_buffer-
このフィールドは、(間接バッファであれば)バッファの基底バッファ、あるいは、
nilを保持する。
keymap-
このフィールドは、バッファのローカルキーマップを保持する。
see Keymaps。
overlay_center-
このフィールドは、現在のオーバレイの中央位置を保持する。
see Overlays。
overlays_before-
このフィールドは、バッファの現在のオーバレイの中央位置か
それよりまえで終るこのバッファのオーバレイのリストを保持している。
それらは終了位置が減る順に並んでいる。
overlays_after-
このフィールドは、バッファの現在のオーバレイの中央位置より
うしろで終るこのバッファのオーバレイのリストを保持している。
それらは開始位置が増える順に並んでいる。
enable_multibyte_characters-
このフィールドは、
enable-multibyte-charactersの
バッファローカルな値を保持しており、
tかnilである。