 |
|
 |
HmJre.dllの改版履歴
|
|
|
2013/09/16 V4.02
|
|
- 後方一致指定/後方不一致指定が、x座標0の位置にヒットしないバグ修正。例:「x」だけの行に対して「^.*(?=x)」で検索して行頭にヒットしない。
|
|
2013/09/10 V4.01
|
|
- 繰り返し指定の後ろに「\1」等のタグ指定があるとうまくヒットしないことがあるバグ修正。繰り返し指定の後ろまたは繰り返し指定の中で\1等を使った場合は繰り返しパターンについての高速化の処理を無しにした。(遅くなるけど仕方が無い。)
- (?\1)等の指定をした場合で、置換先の文字列にも「\1」、つまり、ヒットする対象のタグと同じ番号のタグだけは指定出来るようにした。
- 正規表現+あいまい検索両方ONの時に、検索文字列の{n,m}または{n}の解釈が狂ってしまうバグ修正。
- テストデータ更新
ダウンロード:hmjrev401-testmacro-and-testdata.zip
|
|
2013/09/05 V4.00
|
|
- あいまい検索のオプションに「Unicodeの特殊空白の同一視/特殊ハイフンの同一視」のオプションを追加した。
- 前方一致指定で指定した中身がカーソル位置よりも後ろでないとうまくヒットしかった変則仕様を、正しい仕様で動作するようにした。例えば「(?<=abc)xyz」の正規表現パターンにて"abcxyz"に対して検索する時に、カーソル位置がaとbの間にある時でもちゃんとヒットするようにした。ただし秀丸エディタの画面上での強調表示については、高速化のために従来通りの動作とした。
- 繰り返しパターンが最大長さにうまくヒットしないことがあるバグ対応のための(?#safemode)を廃止して、safemodeを指定しなくても正しく最大長さにヒットするようにした。検索速度については、他にいろいろ追加した高速化の処理でカバーしたので、特別ややこいパターンを除いては同等程度か、むしろ速度に動作すると思う。
- サロゲートペアの文字の直後に繰り返し指定した場合にうまくヒットしないバグ修正。"𨯯+"とか。
- 繰り返しパターンの中にあるカッコを参照する形のタグ付き正規表現指定がうまくヒットしないことがあるバグ修正。例:「(a?|bb)+xyz\1」が"aaaaaaxyz"のxyz部分にしかヒットしない等。
こちらで動作検証したテストデータ+マクロも一応公開します。
ダウンロード:hmjrev400-testmacro-and-testdata.zip
|
|
2013/06/25 V3.54
|
|
- あいまい検索+正規表現ONで、あいまい検索のオプションでの「半角/全角を区別しない」だけONにして他をOFFにして[\uXXXX]の検索をするとハングアップしてしまうバグ修正。
- [...]の中にサロゲートペアの文字を普通に(\u{...}を使わずに)書くと、サロゲートペアとしての文字としてうまく認識されないバグ修正。
|
|
2013/04/25 V3.53
|
|
- safemode時に最大長さにヒットさせる対応追加。ものぐさ検索対応、後方一致/不一致対応の時にうまくいかない例があった対応。
|
|
2013/04/22 V3.52
|
|
- 最大長さにヒットしないバグ修正追加。とりあえずsafemodeの場合に限って直した。"a+(ab|aabb)" が"aaabb"の5文字じゃくて4文字にヒットする問題対応。
|
|
2013/04/17 V3.51
|
|
- "((A.)+).*?$"を"\1"に置換する時に、\1が最大長さにヒットしてくれないことがあるバグ修正。
- ".*"または".+"と他の正規表現パターンの組み合わせパターンの時に、最大長さにヒットしないことがあるバグ対応のため、とりあえず(?#safemode)の指示をしたら正しく最大長さにヒットするようにした。(将来的にはsafemode無しでもちゃんと最大長さにヒットするように修正予定です。とりあえずレベルダウンしたら怖いということで…)
|
|
2012/11/19 V3.50
|
|
- UnicodeのIVS(異体字セレクタ)を無視するオプション追加。&標準でON。
- ユニコード文字に関しての判定処理を改善して少し高速化した。
- HmJre.dll固有のヒープを使う設定についてのオプション名少し変更&ヘルプ追加。
|
|
2012/09/28 V3.46
|
|
- &&と||の優先順位ミスの修正。(表だったバグとしては出ないと思う)
|
|
2012/07/09 V3.45
|
|
- SetUnicodeIndexAutoConvertでパラメータに1を指定した状態でのFindGeneralで正規表現とあいまい検索両方ONを指示すると、検索でヒットした位置の計算が狂うバグ修正。
|
|
2012/06/28 V3.44
|
|
- SetUnicodeIndexAutoConvertでパラメータに1を指定した状態でのReplaceRegular系関数での全置換の動作がおかしいバグ修正。
|
|
2012/06/04 V3.43
|
|
- \S{1}のような繰り返し指定が、サーゲートペアの文字にうまくヒットしないことがあるバグ修正。
|
|
2012/05/23 V3.42
|
|
- ReplaceRegular関数で、検索文字列の先頭が「^」だった場合に連続置換していく用の次の検索開始位置を1つずらして処理するようにした。(結果として先頭の1回分しか置換しないようになるはず)
- 前方不一致指定とタグ指定の両方があると、ヒットしないはずの所にヒットしてしまうことがあるバグ修正。
- \S{1}のような繰り返し指定が、ユニコード文字にうまくヒットしないことがあるバグ修正。
- 置換でタグを指定した場合で、そのタグがどこにもヒットしてないケースで、間違った文字列がタグとして返されてしまうかことがあるバグ修正。
|
|
2011/09/06 V3.41
|
|
- ReplaceRegular等の関数で全置換する時の、長さ0の文字列にヒットした後に次の置換対象文字列を検索するロジックを秀丸エディタと同じロジックにした。結果、秀丸でreplaceall関数で置換したのと同じ結果が得られるようにした。(turukame.3:06700)
|
|
2011/08/04 V3.40
|
|
- 英語版秀丸エディタからFuzzy_OptionDialogMaruo関数が呼ばれたときに、「カスタム1〜カスタム4」の所が日本語で出てしまうバグ修正。
- カスタム同一視指定ファイルでユニコードファイル(UTF-16,BOMあり)を扱えるようにした。
|
|
2011/05/24 V3.39
|
|
- ReplaceRegular/ReplaceRegularNoCaseSense関数の第5パラメータに数値の2を指定すると、もしも置換しなかった場合にパラメータ2の文字列をそのまま返すようにした。
|
|
2011/05/18 V3.38
|
|
- ReplaceRegularNoCaseSense等の大文字/小文字を区別しない系の処理で、\S \D \Cなどの意味が\s \d \cと解釈されてしまうバグ修正。
- 「(.).*\1」が「xaaa」の「aaa」部分にマッチしないバグ修正。
- 「(?=.{0,3}a)b」が「aba」の「ba」部分にマッチしないバグ修正。
- サロゲートペアになるユニコード文字をキャラクタクラスの中で指定出来るようにした。\u{xxxxx}のような形で16進数の文字コードを指定することが出来るようにした。
|
|
2011/04/26 V3.37
|
|
- 特定の制御コード検索でユニコード文字が間違ってヒットしてしまうバグ修正。
|
|
2010/10/16 V3.36
|
|
- あいまい検索ONで特定パターンの検索をするとハングアップしてしまうバグ修正。(hidesoft.2:29073)
|
|
2010/09/21 V3.35
|
|
- 「(.{3,}).*\1e」で検索して「xabcdfabcde」の中のabcdfabcde部分にうまくヒットしないバグ修正が、またレベルダウンしてて再発していたバグ修正。
- 「.*」や「.+」を複数入れた正規表現パターンで検索した時に、先に指定した方が長めにマッチするようにした。例えば「.*\\(.*)」で検索して「a\b\c」にヒットした時の「\1」には、「c」が入るようにした。
|
|
2010/09/17 V3.34
|
|
- FindGeneral関数であいまい検索を指定した時にメモリリークするバグ修正。
- FindGeneral関数で正規表現パターンのコンパイルエラーになった時に-2が返るべき所が-1が返ってしまっていたバグ修正。
|
|
2010/09/15 V3.33
|
|
- ReplaceRegular関数で全置換を指定した時にメモリリークするバグ修正。
|
|
2010/09/14 V3.32
|
|
- V3.31での修正の類似の修正。V3.31では「(pattern)?」のようなケースについて直したけども、V3.32では、「(pattern)*」のケースについて直した。
|
|
2010/09/13 V3.31
|
|
- 「turukame.3:06066| RE 06064 hmjre.dllの仕様の確認と不具合」で報告いただいたバグ修正。「(pattern)?」のようなパターンが0回ヒットしたケースで、その部分を「\1」のようなタグで参照して間違ってヒットするバグ修正。
|
|
2010/09/10 V3.30
|
|
- ReplaceRegular/ReplaceRegularNoCase関数での置換文字列の中で、「\x20」のような一般のエスケープシーケンス指定を使えるようにした。
- ReplaceRegular関数ですべて置換を指示した時で、長さ0の文字列にヒットするような正規表現パターンで置換する時に、全角文字の1バイト目と2バイト目にヒットして置換されてしまうことがあるバグ修正。
- 検索パターン「(.{3,}).*\1e」が「xabcdfabcde」にマッチしないバグ修正。
- (pattern1)?(pattern2)のようなケースで、\1がうまくpattern1部分に相当しないバグ修正。
- 「pattern1|(pattern2)」のように、「|」を使いつつ括弧で囲んだケースで、タグの「\1」等がうまくいかないバグ修正。
- あいまい検索で、「あ」と「ぁ」を区別しない指定で「わ」と「ゎ」が同一視されないバグ修正。
- あいまい検索の同一視指定文字列の中に「<=」があると、正規表現パターンの「(?<=....)」を使った時にエラーになってしまうバグ修正。
|
|
2010/08/18 V3.29
|
|
- サロゲートペアに対応してなかったのでちゃんと対応するようにした。
|
|
2010/08/06 V3.28
|
|
- 「hidesoft.2:28750」についてのバグ修正。Jre2GetMatchInfo関数を直接呼び出して使う場合で、マッチしなかったタグの位置が正しく(長さ0で)返らない場合があるバグ修正。
- 「hidesoft.2:28767」についてのバグ修正。繰り返しパターンがネストしてる特定正規表現パターンで落ちてしまうバグ修正。
|
|
2010/07/13 V3.27
|
|
- 前方一致/前方不一致関係で、マッチする/しないがおかしいケースがあったりマッチする位置がおかしいケースがあったバグ修正。(元々あったバグが、今回の一連のテストで見つかった)
|
|
2010/07/13 V3.26
|
|
- V3.25で、「\1+」のような、タグの繰り返しがあると落ちてしまうことがあったバグ修正。
- V3.25でもなお、ヒットすべきなのにヒットしないパターンがあったので、とにかく繰り返し指定の中に繰り返し指定を含むケースは、ほぼ全面的に、新しい変換の処理を通すようにした。
|
|
2010/07/11 V3.25
|
|
- V3.24で、繰り返しパターンの中に「|」があると落ちてしまうバグ修正。
|
|
2010/07/11 V3.24
|
|
- 繰り返しパターンの中に繰り返しパターンが入っているケースでうまくヒットしないことがあるバグ修正。(hidesoft.2:28587)
|
|
2010/07/07 V3.23
|
|
- FindGeneral関数であいまい検索を指定した時に、検索開始位置の指定がずれて解釈されてしまうバグ修正。
|
|
2010/06/28 V3.22
|
|
- 「hidesoft.2:28420」でいろいろ報告いただいたあいまい検索関係のバグ修正多数。
- 「\ooo」のような8進数指定での文字指定が一部使える箇所があったので、使えないようにした。
- FindGeneral関数であいまい検索を指定した時に、保護違反で落ちてしまうことがあるバグ修正。
|
|
2010/06/18 V3.21
|
|
- 「hidesoft.2:28420」で報告いただいたバグ修正。
|
|
2010/06/15 V3.20
|
|
- あいまい検索の「無視する指定」に正規表現の特殊文字を指定して、さらに正規表現+あいまい検索で、無視する指定の文字を使った正規表現パターンを書くと、うまくヒットしないバグ修正。
|
|
2010/06/08 V3.19
|
|
- あいまい検索でカスタム同一視指定を使っている時に、正規表現+あいまい検索で [亜-熙] のような指定をするとエラーになってしまうバグ修正。
- あいまい検索の「無視する指定」の中にコンマや数字を入れている時に、正規表現+あいまい検索で {1,2} のような指定をすると、期待した繰り返し指定扱いになってくれないバグ修正。
|
|
2010/05/18 V3.18
|
|
- 単語の検索とあいまい検索の両方がONで、さらに、あいまい検索での「空白/タブを無視」とカスタム同一視指定の両方をONにして、さらにカスタム同一視指定の中で、ある特徴的な単語を指定した時に、うまくヒットすべき文字列にうまくヒットしないバグ修正。具体的には「thrteen thrteenth」という同一視指定をした場合に、「thrteen thx」と書いた所の「thrteen」にうまくヒットしない。
- コメントの(?#...)の中で括弧のネストを出来るようにした。
- ReplaceRegular関数で、パラメータによって無限ループして固まってしまうことがあるバグ修正。
- FindRegular関数などで、検索開始位置が検索対象文字列よりも後ろを指定すると、Buffer overrunエラーになることがあるバグ修正。
|
|
2010/05/11 V3.17
|
|
- あいまい検索のカスタム同一視の指定が効かなくなることがあるバグ修正。あいまい検索を一番最初に使ったプロセスが終了するとダメになることがある。
|
|
2010/05/07 V3.16
|
|
- あいまい検索で、カスタム同一視指定の中に、1文字だけの文字を指定していて、さらにその文字を「特定文字を無視する」の中にも指定した場合、カスタム同一視指定の中でのその文字のある所より後ろの同一視指定文字がすべて無視されてしまうバグ修正。
- 同一視指定の中に文字列的に重なってどっちとも解釈出来るようなケースで、一番長い文字列の方を優先するようにした。例えば「x」と「エックス」を同一視、「xx」と「ダブルエックス」を同一視指定するようにしていた場合に、検索文字列に「xx」を指定した場合には、解釈として「xx/ダブルエックス」に対して同一視指定する方を優先するようにした。
|
|
2010/03/31 V3.15
|
|
- あいまい検索で、空白/タブを無視する設定の時に、ヒットした文字がユニコード文字だった時に、そのユニコード文字に続く空白/タブ類もヒットした文字列の一部であるかのように動作してしまうバグ修正。(V1.88の時点であいまい検索関係処理のユニコード対応をやって、そのユニコード対応の処理が完全でなかったがために、このバグが発生してしまった)
- あいまい検索の処理の中での「全角文字の2バイト目かどうか」の判定に、ユニコード文字については配慮が抜けていたバグ修正。(昔からずっとバグってた)
|
|
2010/03/12 V3.14
|
|
- HmJre.dll固有のヒープを使う時のヒープサイズの条件を、4メガバイトだったのを無制限に変更した。(秀丸メールであいまい検索あり+リアルタイム更新ありの検索フォルダをいっぱい使っていると4メガバイトでもメモリ不足になることがあるらしいので)
|
|
2010/03/08 V3.13
|
|
- turukame.3:05231対応の修正:SetUnicodeIndexAutoConvert関数を追加した。
- turukame.3:05293対応のバグ修正:(?:____)を()の中で使うとタグがおかしくなるバグ修正、(?:____)の中で括弧で囲んで|指定を使うとタグがうまくヒットしないバグ修正。
|
|
2010/02/11 V3.11
|
|
- turukame.3:05148の修正。
- turukame.3:05155の修正。
|
|
2010/02/08 V3.10
|
|
- [\x0080]〜[\x00FF]が検索出来ないバグ修正。
|
|
2010/01/30 V3.08
|
|
- hidesoft.2:27538の修正。(特定正規表現パターンでの高速化)
|
|
2010/01/27 V3.07
|
|
- (pattern){0} と指定した場合に長さ0にヒットさせる。
|
|
2010/01/07 V3.06
|
|
- turukame.3:04893のバグ修正。
- 64bit版でアセンブラを使う。
|
|
2009/12/24 V3.04
|
|
- [...]の中で\D \S \I \Cも使えるようにした。
|
|
2009/12/22 V3.03
|
|
- [...]の中で\d \s \i \cを使えるようにした。
|
|
2009/11/27 V3.00
|
|
- (?#....)のコメント対応
- \s \S \d \D \b \Bのサポート。
|
|
2009/10/06 V2.06
|
|
- 『([^\n]+)\1』が「かあいあい」にうまくヒットしないバグ修正。(turukame.3:04395)
|
|
2009/08/24 V2.05
|
|
- 固有ヒープのサイズを2メガバイトから4メガバイトに増やした。
- FindRegular等の関数の文字列パラメータに不正な値を指定したり省略しても落ちないようにした。
|
|
2009/07/06 V2.04
|
|
- 秀丸エディタV8.00でのマクロDLLの仕様変更対応。
|
|
2009/06/09 V2.03(秀丸メールV5.19β1に添付予定)
|
|
- 前方不一致指定の中に可変長マッチングがあると、マッチしてないはずの文字列にマッチしてしまうことがあるバグ修正。(hidesoft.2:26697)
|
|
2009/05/17 V2.02(秀丸メールV5.17β1に添付予定)
|
|
- FindGeneral関数で大文字/小文字の区別をしない検索をすると落ちてしまうバグ修正。(いつの間にかレベルダウンしていたみたいだ)
|
|
2009/05/06 V2.01
|
|
- ReplaceRegular, ReplaceRegularNoCaseSense関数で、置換文字列の指定での「\\」がうまく「\」に置換されなかったバグ修正。
- ReplaceRegular, ReplaceRegularNoCaseSense関数に第5パラメータを追加した。0だと最初にヒットした文字列だけ置換、1を指定すると全置換となる。
|
|
2009/04/07 V2.00
|
|
- 「^^」および「$$」がバグっていたというか、本来の正規表現通りの仕様になってなかった修正。(昔からそうなっていた)
|
|
2009/04/04 V1.99
|
|
- 秀丸メールおよび秀丸エディタV8.00βで、EOF制御文字がうまく検索出来なくなっていたバグ修正。
|
|
2009/03/27 V1.98
|
|
- ReplaceRegular, ReplaceRegularNoCaseSense関数を追加した。
|
|
2007/03/06 V1.81
|
|
- " + + + +"のように同じ繰り返しパターンが何個も繋がっているようなケースについて高速動作するように直した。
- "(abc|[a-z]*)+(abc)"ってパターンで"abcbabc"にヒットしないバグ修正。
- 繰り返し指定が1つしか使われてない場合にはメモリの使用量(pfMatchTested)を少し減らすようにした。
|
|
2005/10/25 V1.80
|
|
- "(abc)?[bd]"または"(abc)*[bd]"で検索して、"abcd" の全体にうまくヒットしないバグ修正。
- "(pattern1|pattern2)"の検索でのタグ付き正規表現による置換がうまくいかないことがあるバグ修正。
- あいまい検索&正規表現両方ONの時に、[a-z]のような正規表現パターンがうまくヒットしないことがあるバグ修正。
|
|
2005/09/13 V1.69
|
|
- Perl互換のタグ付き正規表現に対応した。
- Jre2GetMatchInfo_HmJre関数を追加して、同一検索対象について繰り返し検索する場合に高速化した。
- その他いろいろ。
|
|
2004/09/24 V1.12
|
|
- 「*」を途中に含んだパターン(「AB*C」のような形式)でうまくヒットしないことがあるバグ修正。A部分とB部分が微妙に重なってヒットする可能性があるとダメになる。例えば"a_z[a-z]*!"という検索をした場合に、"a_za_za!"にうまくヒットしない。
|
|
2004/xx/xx V1.11
|
|
- あいまい検索で、検索対象文字列の変換でバッファオーバーして死んでしまう場合があるらしい対処。(根本原因は分からないつつも、適当に対処療法だけ施した)
|
|
2004/04/16 V1.10
|
|
- 検索文字列の先頭に".*"または"^.*"を指定した時に、いわゆる「ものぐさ検索」的な動作になっていたバグ修正。V1.03からずっとバグっていた。
|
|
2004/04/13 V1.09
|
|
- あいまい検索オプションで、「特定文字を無視する」オプションを追加した。
|
|
2004/03/16 V1.08
|
|
- 正規表現ON、あいまい検索ON、あいまい検索オプションでの「空白/タブ文字を無視する」がONの時に、半角空白を含む特定条件の正規表現パターン中の半角空白が除去されずに検索されて、結果としてヒットすべき所にヒットしないことがあるバグ修正。
|
|
2004/02/10 V1.07(アップロードしてないけど)
|
|
- 「\x」を検索すると死んでしまうバグ修正。(昔からのバグ)
|
|
2004/01/20 V1.06
|
|
- あいまい検索設定ダイアログボックス上での「/」の文字を「/」に変更した。
|
|
2003/12/25 V1.04
|
|
- 「.*」の処理がおかしいために、特定パターンでヒットしないことがあるバグ修正。
|
|
2003/12/05 V1.03
|
|
- 「.*」について特別な処理を入れて、特に1行の長さが非常に長い場合の「.*」のマッチングを超高速化した。
|
『戻る』
|  |