|
IKKI さん今日は、Iranoan です。
> forceinselect は replaceall に対して無効のようですが、これは仕様でしょうか。
ヘルプに
> 検索ダイアログを出すときに明示的に「選択した範囲内のみ」にチェックしたり、
> 下候補、上候補するときに明示的に「選択した範囲内のみ」で動作させます。
とあり、replaceall(fast) はダイアログ・ボックスも表示しない上/下候補も
行っていないので、記載どおりの動きだと思います。replaceall(fast) は、
素直にパラメータ inselect を使えばよいですし。
ただし、
gofiletop;
beginsel;
searchdown "search";
setsearch "beg", 0;
forceinselect 1;
finddown;
message str( result );
の動きが変です。
上記を含め、以下全てマクロ自体をサンプル・ファイルとします。
ほぼ同じ動きを期待して、キー操作の保存で作成した
gofiletop;
beginsel;
searchdown "search";
if( ! result ) beep;
searchdown "beg" , inselect;
if( ! result ) beep;
だと、機体どおり beg を選択します。また
gofiletop;
beginsel;
movetolineno 1, 3;
setsearch "beg", 0;
forceinselect 1;
finddown;
message str( result );
は同様に機体どおりの動作をしませんが、
movetolineno 1, 3;
beginsel;
gofiletop;
setsearch "beg", 0;
forceinselect 1;
finddown;
message str( result );
は機体どおりの動作をします。どうやらカーソル位置に対する扱いが異なるよ
うです。
|
|