mumurik/xyzzy — pull request #53 by xyzzy-17-638 (2012-05-15 00:47:42+00:00)
Title: フレーム操作用の低レベル関数を追加 

以下の３つの関数と、１つのフォーマット指定子（？）を追加します。

### `select-frame &optional FRAME`

指定した `FRAME` にフォーカスを移す。

* 疑問点 : `select-frame` は以下の `get-frame-window-handle` を使用して、SetFocus() することでも実現できる。ミニマルな構成にして、lisp 実装すべきでは？
* SetFocus() 以外にも色々泥臭い処理が出てきそうな予感もする

### `get-frame-window-handle &optional FRAME`

`FRAME` の WIN32 ウィンドウハンドルを得る。

* toplev のウィンドウハンドルを得る関数が無かったために追加
* 疑問点 : `FRAME` から toplev のウィンドウハンドルを拾う既存の方法があるのでは？

### `get-frame-order-index &optional FRAME`

`FRAME` の（時系列）インデクス番号を得る。

* インデクス番号は 1 から始まり、時系列順に昇順の番号がつく
* 古いフレームほど小さい値になる
* ３つのフレームに対して 1, 2, 3 という番号が付いたあと、フレーム '2' を消した (`delete-frame`) 場合、フレーム '3' の番号は '2' に変更される
* 疑問点 : ApplicationFrame::serial_id を unsigned int で安易に実装していることの正当性

### フレーム番号表示用のフォーマット指定子（？）`%d`

フレーム番号を表示する。

* `title-bar-format` および `mode-line-format` に対して使用可能
* フレーム番号は `get-frame-order-index` と同等の値になる
* 番号が１０以上になった場合、`A` から始まるアルファベット値となる
* `Z` よりも大きい値になった場合は常に `_` となる
* 疑問点 : フォーマット指定子？　名称が分かっていない
* 疑問点 : `%d` とは偉そうな…
* 疑問点 : １文字表示にこだわらず、常に１０進表示のほうが良いのでは？