正規表現+曖昧検索でハングNo.07984
colder さん 13/06/24 17:24
 
colderです
正規表現と曖昧検索の両方をオンにしているとハングすることがあるようです。
検索パターン「[\u3042]」
再現するでしょうか。
環境 win7 秀丸8.31β4 hmjre.dll V3.53

[ ]
RE:07984 正規表現+曖昧検索でハングNo.07985
秀まるお さん 13/06/24 18:20
 
 こちらでテストしてみたら、ハングアップする現象はいまいち再現しなかった
んですが、うまくヒットしない現象は起きました。

 あいまい検索のオプションで、

    大きい「あ」と小さい「ぁ」を区別しない

 をONにしていると、検索文字列/検索対象文字列の両方ともに、「あ」を
「ぁ」に変換してから検索しようとするんですが、[\u3042]の文字は「あ」のま
ま変換されなくて、結果としてうまくヒットしないようでした。

 同様のことになりますが、[\u30A2]を検索する時に「ひらがなとカタカナを区
別しない」がONになってても、やはりうまくヒットしないです。

 ただ、これはこれで、直すのがちょっと難しそうですけども…。変換してから
検索する仕組み自体を変えないとダメになりそうです。

 という、ヒットしない話はとりあえずおいといて…



 「あ」と「ぁ」を区別しない設定がONだと、検索の本陣の処理の前のプレ判定
の段階で「ヒットする可能性が無い」って判定になって、その後一切の処理が省
略されるので、今回ハングアップしたのは、上記「あ」と「ぁ」を区別しないオ
プションはOFFなのかなぁと思ったりします。

 ということですみませんが、あいまい検索のオプションで、何がONになってる
かだけ教えて欲しいです。

 とりあえずハングアップする方について、もうちょっとテストしてみます。

[ ]
RE:07984 正規表現+曖昧検索でハングNo.07986
秀まるお さん 13/06/24 18:22
 
 あと、もし可能でしたら、常駐秀丸でハングアップチェッカーを起動して、そ
れで具体的にどこでハングアップしてるかのログを取っていただく作戦もありま
す。それでログを取っていただくのが一番助かったりします。

 秀丸メールにもハングアップチェッカーがありますけども。

 出来たらお願いします。

[ ]
RE:07985 正規表現+曖昧検索でハングNo.07987
colder さん 13/06/24 18:44
 
> あいまい検索のオプションで、
>
>    大きい「あ」と小さい「ぁ」を区別しない
>
> をONにしていると、検索文字列/検索対象文字列の両方ともに、「あ」を
>「ぁ」に変換してから検索しようとするんですが、[\u3042]の文字は「あ」のま
>ま変換されなくて、結果としてうまくヒットしないようでした。
>
[\u3042]は単に問題が発生するケースを絞り込んだだけですので
これはとりあえず問題ないです。

>
> ということですみませんが、あいまい検索のオプションで、何がONになってる
>かだけ教えて欲しいです。

半角/全角を区別しないだけがONになっています

ハングアップチェッカーを起動してログが取れていますので後ほどお送りします

[ ]
RE:07987 正規表現+曖昧検索でハングNo.07988
秀まるお さん 13/06/24 19:07
 
> 半角/全角を区別しないだけがONになっています
>
> ハングアップチェッカーを起動してログが取れていますので後ほどお送りします

 すみません。この条件でテストしたら一発で再現しました。

 ログは不要かと思います。とにかく調査させていただきます。

[ ]
RE:07988 正規表現+曖昧検索でハングNo.07989
秀まるお さん 13/06/25 09:52
 
 ついでにテストしてたら、[]の中にサロゲートペアの文字を普通に(\uを使わ
ずに)書いた場合にうまくいかないバグも見つけてしまいました。これまた修正
させていただきます。

[ ]
RE:07989 正規表現+曖昧検索でハングNo.07990
秀まるお さん 13/06/25 10:29
 
 今直して秀丸担当に渡しました。

 次回の秀丸エディタβ版に添付させていただきますので、すみませんがそれま
で少々お待ちください。


 あと別件になりますが、(?#safemode)を付けることで対処させていただいた件
は、秀丸エディタのV8.31正式版が出た後に、標準で対応、つまり、safemode付
きでやってる処理を標準で効くように直してしまおうと思います。

 互換性や性能の面でちょっと不安があるので、その辺テストして対応しようと
思います。

[ ]