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