finddown2が3〜4回目でresult==falseになNo.05439
たけとり さん 10/03/23 16:31
 
いつもお世話になっています。

原因を切り分けできてないので、タイトルが正しいかどうか怪しいのですが。
また、私の勘違いとか、私の環境だけで起きている問題ならすみません。

 disablehistory 0xFF;
 setsearch "^\t+", 0x10;
 forceinselect 1;
 while(result){
  moveto2 column, lineno + 1;
  selectline;
  finddown2;
  message str(lineno) + ":" + str(column) + ":" +str(result);
 }

上記のマクロは、行頭にタブがあるかどうか1行ずつみていくという動作を想定して
作ったものです。
私の環境では、このマクロを(たとえばこのマクロ自身を対象に)実行すると、3〜4行
検索したら、該当する行の有無にかかわらずresult==0になります。
(行数はその時々で違います。)
何となくですが、finddown2を3〜4回連続して呼び出すと検索できなくなるような感
じがしています。

再現しますでしょうか。

こちらの環境はXP sp2, 秀丸8 beta 44と46です。

[ ]
RE:05439 finddown2が3〜4回目でresult==fNo.05441
秀丸担当 さん 10/03/23 17:08
 

>私の環境では、このマクロを(たとえばこのマクロ自身を対象に)実行すると、3〜4行
>検索したら、該当する行の有無にかかわらずresult==0になります。
>(行数はその時々で違います。)
>何となくですが、finddown2を3〜4回連続して呼び出すと検索できなくなるような感
>じがしています。

言われているような感じで再現させることができました。
forceinselectは、finddown2などの直前にしていただくのが適切でした。

  forceinselect 1;
  finddown2;

というようにしていただくといいのではないかと思います。
フォーカス変化時など、不定なタイミングでこの状態は無くなり、おかしなこと
になってしまっているようです。
ヘルプも説明不足でした。
ヘルプに説明を追記させていただきます。

[ ]