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