B.6.2 ウィンドウの内部
ウィンドウには以下のような参照可能なフィールドがあります。
frame-
このウィンドウがあるフレーム。
mini_p-
このウィンドウがミニバッファ用ウィンドウであれば
nil以外。
buffer-
このウィンドウで表示しているバッファ。
これはウィンドウの生存期間中にしばしば変化する。
dedicated-
このウィンドウがそのバッファ専用であると
nil以外である。
pointm-
これは、このウィンドウが選択されていたときの
カレントバッファのポイント値である。
選択されていないときには、まえの値が保持される。
start-
ウィンドウに表示する最初の文字のバッファ内位置である。
force_start-
このフラグが
nil以外であると、
Lispプログラムが明示的にウィンドウをスクロールしたことを表す。
ポイントがスクリーンからはみ出しているとつぎの再表示の動作に影響する。
ポイントの周りのテキストをウィンドウに表示するようにスクロールするかわりに、
スクリーン上に位置するようにポイントを移動する。
last_modified-
このウィンドウの最後の再表示が完了した時点での
ウィンドウのバッファのフィールド
modifiedである。
last_point-
このウィンドウの最後の再表示が完了した時点での
バッファのポイント値である。
left-
コラム数で数えたウィンドウの左端である。
(スクリーンの最左端コラムは0コラム目。)
top-
行数で数えたウィンドウの上端である。
(スクリーンの最上端行は0行目。)
height-
行数で数えたウィンドウの高さ。
width-
コラム数で数えたウィンドウの幅。
next-
これは、兄弟関係でつぎのウィンドウである。
兄弟関係で最右端か最下端であるウィンドウでは
nilである。
prev-
これは、兄弟関係でまえのウィンドウである。
兄弟関係で最左端か最上端であるウィンドウでは
nilである。
parent-
内部的にはEmacsはウィンドウを木に並べている。
兄弟関係の各グループには親ウィンドウがあり、
親ウィンドウの領域はその兄弟すべての領域を含む。
このフィールドはウィンドウの親を指す。
親ウィンドウはバッファを表示せず、
その子ウィンドウの形以外には、表示に関してはなんの役割も持たない。
Emacs Lispプログラムでは親ウィンドウを参照せず、
バッファを実際に表示する木の葉にあるウィンドウを操作する。
hscroll-
これは、ウィンドウの表示を水平方向左向きにスクロールしているコラム数。
これは普通は0である。
use_time-
これは、このウィンドウが選択されていた最後の時刻。
関数
get-lru-windowがこのフィールドを使う。
display_table-
ウィンドウの表示テーブル。
指定されていなければ
nilである。
update_mode_line-
nil以外であると、ウィンドウのモード行を更新する必要があることを表す。
base_line_number-
バッファの特定の位置の行番号である。
あるいは
nil。
これは、モード行にポイント位置の行番号を表示するために使われる。
base_line_pos-
行番号が既知のバッファ内位置。
既知でなければ
nilである。
region_showing-
このウィンドウでリージョン(やその一部)を強調表示しているときには、
このフィールドは、当該リージョンの一方の端を表すマーク位置を保持している。
さもなければこのフィールドは
nilである。