Next: , Previous: Buffer Internals, Up: Object Internals


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である。