| 
			|  | 感想文です。
 
 * 検索ダイアログの「検索文字列の強調」がオンのとき
 コマンド「下候補」を実行すると強調されます。
 ところがマクロの「下候補」 finddown2を実行しても、強調されません。
 おかしいな、と思って「下候補」を記録してみると、
 searchdown2 "hoge" , hilight;
 if( ! result )  beep;
 となっていました。
 マクロヘルプでは、searchdown2は「下方向検索」になっています。
 この違いに気付かずに、コマンド「下候補」とfinddownは同じだと思いこんでいたの
 で、
 さっきまでなんでfinddown2で強調されないことがあるのか解りませんでした。
 そのうち直るだろうささいなバグ、と思っていたのです。
 検索ダイアログの「検索文字列を強調」をオフると「下候補」の記録は
 
 searchdown2 "hoge" , nohilight;
 と変わりました。ははぁ、なるほど!
 動作環境の検索、「カーソル位置の次の文字から検索を開始」をオンにしてみると
 「下候補」の記録は、
 searchdown "hoge" , nohilight;
 に変わり、予想通りでした。
 つまりコマンド「下候補」とマクロ文「下候補」は別物であり、コマンド「下候補」
 は、
 検索文字列と検索オプション、さらに動作環境を考慮したマクロ文の組み合わせで
 成り立っているものと同等、ということがいまさら解ったのでした。
 このことから、コマンド「下候補」といつも同じ動作をするマクロは、
 両方のオプションを考慮して4通りに分岐させないと書けない、ということになりま
 す。
 
 まず、この「下候補」という用語が紛らわしいのと、強調のオン/オフと
 動作環境のオン/オフからコマンド「下候補」には4つのバリエーションがあり得る
 ことになり、
 キーを記録しても、組み合わせが合わないと違った動作になります。
 実際には、この辺は各自固定して使用すると思われるので、問題ないんでしょうけど、
 ちょっと奇妙な感じがします。もちろんマクロで両オプションを見て、
 コマンド「下候補」と同じマクロ文を生成すればいいんでしょうけど、
 将来オプションが増えたときのことも考えると、いっそコマンド「下候補」が
 生成するマクロ文と同じ機能を果たすカプセルマクロ文(例えばnextcandidate)が
 ひとつあるといいな、という気がしました。
 あらかじめ組むマクロではexecmacroすれば?、って話ではありますが。
 
 
 | 
 |