local-window-flag
http://xyzzy.s53.xrea.com/reference/wiki.cgi?p=set-local-window-flags で設定する行番号とかのやつ。
- フラグは on か off か未設定か
- window と buffer がそれぞれにフラグを覚えてる
- 優先順位は buffer > window > (グローバルな設定)
- `get-local-window-flags` は多値で on のフラグと off のフラグを返す
;; 現在の buffer/window で flag が on なのか off なのか (defun window-flag (flag) (labels ((on? (x) (plusp (logand flag x)))) (multiple-value-bind (buffer-on buffer-off) (get-local-window-flags (selected-buffer)) (cond ((on? buffer-on) t) ((on? buffer-off) nil) (t (multiple-value-bind (window-on window-off) (get-local-window-flags (selected-window)) (cond ((on? window-on) t) ((on? window-off) nil) (t (on? (get-window-flags)))))))))) => window-flag
たぶん合ってる。もうちょっとスッキリ書けても良さそうなもんなんだが・・・。