行頭にタブを含む文字列の下検索が不正No.16462
k.kiyo さん 04/01/18 18:35
 
行頭にタブがある文字列を検索すると、最初の検索はうまくいきますが
続けて下候補を実行すると正しく検索しません。
上候補は正しく検索します。

テストケース
 test
 test
 test
 test
 test
 test

秀丸Ver4.05 OS:WinXP

[ ]
RE:16462 行頭にタブを含む文字列の下検索No.16463
アルビレオ さん 04/01/18 22:08
 
秀丸ユーザーのアルビレオです。

>行頭にタブがある文字列を検索すると、最初の検索はうまくいきますが
>続けて下候補を実行すると正しく検索しません。
>上候補は正しく検索します。
>
>テストケース
> test
> test
> test
> test
> test
> test
>
>秀丸Ver4.05 OS:WinXP

こちらで試した限りでは問題ないようでした。
秀丸 4.05、HmJre 1.01、Win98SE
テストした検索文字列は「^\t」と「^\ttest」で共に正規表現ONです。

・検索文字列の具体的な内容
・HmJre.dllのバージョン
・「正しく検索しない」というのはどのような動きか
・ひょっとすると特定の文字コードでおかしくなる?(可能性は低いですが)
といった情報があると確認しやすくなりそうです。

[ ]
RE:16463 行頭にタブを含む文字列の下検索No.16466
k.kiyo さん 04/01/18 23:44
 
> 秀丸ユーザーのアルビレオです。
こんにちわ

> >テストケース
> > test
> > test
> > test
> > test
> > test
> > test
行頭のタブが半角空白に置き換わっているようで、このテストケースは
テストケースになっていなかったようです。

> テストした検索文字列は「^\t」と「^\ttest」で共に正規表現ONです。
>
> ・検索文字列の具体的な内容
「 test」(タブ文字+test) 正規表現OFF
です。
「^\t」と「^\ttest」で共に正規表現ONにしても同じ現象になります。

> ・HmJre.dllのバージョン
1.01
JRE32.dllにしても同じです。

> ・「正しく検索しない」というのはどのような動きか
画面上は何の変化もないという状態です。
カーソルも移動しません。
最初にヒットした時のままの状態です。

> ・ひょっとすると特定の文字コードでおかしくなる?(可能性は低いですが)
上候補では問題ないので、この可能性はないとおもいますが...

以下のマクロで試してみたら、同じ文字列を検索してるようです。

$$Text = " test"; //NG
//$$Text = "test"; //OK
//$$Text = "aa test"; //OK
##count = 2;
gofiletop;
while(##count)
{
 searchdown $$Text;
 if(result)
 {
  message "hit! X,Y="+str(x)+" "+str(y);
  ##count=##count-1;
 }
 else
 {
  break;
 }
}
endmacro;


[ ]
RE:16466 行頭にタブを含む文字列の下検索No.16468
アルビレオ さん 04/01/19 01:00
 
アルビレオです。

>行頭のタブが半角空白に置き換わっているようで、このテストケースは
>テストケースになっていなかったようです。

本文中に「行頭にタブが〜」とあるので、ちゃんとタブに置き換えてからテスト
しています。

>> ・検索文字列の具体的な内容
>「 test」(タブ文字+test) 正規表現OFF
>です。
>「^\t」と「^\ttest」で共に正規表現ONにしても同じ現象になります。

>以下のマクロで試してみたら、同じ文字列を検索してるようです。

Win98SE、Win2000で試しましたが、どちらも正しく検索できました。

ひょとしたらと思って「カーソル位置の次の文字から検索を開始」をONにしてみ
たけど変わらず。
「検索での表示」を「範囲選択」にすると、マクロではなぜか1行目が検索に
ヒットしませんでしたが、k.kiyoさんのような症状は再現できませんでした。
何が違うんでしょうね?

[ ]
RE:16468 行頭にタブを含む文字列の下検索No.16469
k.kiyo さん 04/01/19 03:04
 
> アルビレオです。
お世話になります。

> Win98SE、Win2000で試しましたが、どちらも正しく検索できました。
>
> ひょとしたらと思って「カーソル位置の次の文字から検索を開始」をONにしてみ
> たけど変わらず。
> 「検索での表示」を「範囲選択」にすると、マクロではなぜか1行目が検索に
> ヒットしませんでしたが、k.kiyoさんのような症状は再現できませんでした。
> 何が違うんでしょうね?
オプションをチェックしてみました。
「動作環境」の「高度なカーソル」で「タブ文字の上にカーソル移動した時」オプシ
ョンを「貫通する」にするとこの現象が起こるようです。
これが製作者側の意図した動作かどうかは分かりませんが、原因が分かってよかった
です。

[ ]
RE:16469 行頭にタブを含む文字列の下検索No.16482
秀まるお2 さん 04/01/19 14:03
 
 いろいろお手数かけてすみません。&テストありがとうございます>アルビレ
オさん

 これはこれで明らかに秀丸のバグなので、修正させていただきます。ただ、現
在公開している安定バージョンのV4.05をV4.06にしないといけない程でもない気
がするので、とりあえずV4.10βの方にて修正させていただきます。

[ ]