HSPではscreen、bgscr、bufferで指定したIDのウィンドウを初期化しないと使えませんし、未初期化のウィンドウIDを指定してしまうとエラーでプログラムが中断してしまいます。
しかし指定したIDのウィンドウが使われているかどうかを調べる方法が存在しないので、未然にエラーを防ぐのも困難です。(gselすらエラーになるのでどうしようもない)
一応 ginfo_newid で未初期化ウィンドウのIDを調べて、指定したウィンドウIDと一致していれば〜 ということもできますが、この場合はウィンドウIDが連番で作られている場合に限ります。
なので
こういう場合は対応不可です。
screen 0 screen 5 mes ginfo_newid
いままでこの関数が実装されてこなかったということは、ウィンドウIDを連番で作って最初に一括初期化するなどが暗黙のルールなのでしょうか?
私の場合は oncmd で割り込みをガッツリやるので、割り込みのタイミングによっては指定したウィンドウIDがまだ未初期化でエラーといことが多々あります。
なので標準関数として、指定したウィンドウIDが初期化済みかどうかを調べる関数を実装して頂きたい次第です。
検索が下手なので、もしすでに解決策があれば申し訳ないです。