FindRegular関数使用で、dump.txt を吐いNo.08040
白雲斎 さん 05/06/04 16:33
 
Ver5.00 ベータ版は、β26 から使い始めました。
よろしくお願いします。

FindRegular関数の検証用に、以下のマクロで実験をしました。
---------------------------------------------------------------
loaddll "HmJre.dll";
if( !result )
{
    message "DLLロードに失敗!";
    endmacro;
}
$s = "http://www.example.com/foo/bar.html";
$p = "[^/]+\\.html?$";
#n = dllfunc( "FindRegular", $p, $s, 0 );
if( #n == -1 ) message "マッチしませんでした。";
else if( #n == -2 ) message "不正な正規表現!";
else
{
    #ln = dllfunc( "GetLastMatchLength" );
    message midstr( $s, #n, #ln );
}
freedll;
endmacro;
---------------------------------------------------------------

【再現手順】

  1. 上記マクロをそのまま実行します。問題なく実行され結果も良好です。
  2. 正規表現を不正なパターンに変更して実行します。
     $p = "[^/+\\.html?$";  // 終わり角括弧を削除
     -2 が返り、問題なく実行されます。
  3. 不正なパターンに変更した正規表現を元の正しいものに戻し実行します。
     「プロセスの保護違反」で、dump.txt を吐いて死んでしまいます。


検証のほど、よろしくお願いします。
Windows XP SP1
秀丸 Ver 5.00 β26


[ ]
RE:08040 FindRegular関数使用で、dump.txNo.08046
秀まるお さん 05/06/06 12:22
 
 バグでお手数かけてすみません。連絡いただいた再現手順にてこちらで簡単な
テストをしてみたんですけど、それでは死にませんでした。

 検索対象のファイルの内容が関係してるのかもしれませんけど。僕の場合は単
純に、今編集中のマクロそのものを対象にマクロを実行しただけですけど、それ
では死にませんでした。ファイル内容じゃなくて、何か他の設定関係がバグ再現
に関係してるのかもしれないです。

 とりあえず、発生したdump.txtの内容を教えてほしいです。それを調べるだけ
でも何か分かる可能性が高いと思います。

 あと、出来れば他に再現のためのヒントがあればそれも教えてほしいです。

[ ]
RE:08046 FindRegular関数使用で、dump.txNo.08052
白雲斎 さん 05/06/06 13:49
 
こちらでは100%再現するんですが、どうしてだろう!?
取り急ぎ、dump.txtの内容を貼り付けます。

---- dump.txt ----
Windows:0a280105 Comctl:00060000
Exception code=C0000005 addr=02057B83
eax=00000000 ebx=0011C132 ecx=00000000 edx=0205B6F8 esi=00000000 edi=0011C15
6 ebp=0011BFA4 esp=0011BF70 eip=02057B83
eip: 89 88 80 00 00 00 8B 42 26 3B C1 89
Stack Dump
0011C156 0011C132 0011C020 0011BF94 0011E124 004D31F0 77E3610C 0011BFA8
00486D7B 04C10089 00000001 00000000 004D31F0 0011BFBC 0205820E 0205B6F8
0011C132 00000023 0011C124 0011BFD4 020534A1 0205B6F8 0011C132 0011F020
004D31F0 0011E130 00485116 0011C124 0011C132 00000000 00000000 00000000
00000000 00000000 0011F020 004D31F0 0000008F 00000000 00000000 00000004
00000024 00A00F00 00000000 02053380 0011C124 0011C132 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
FramePtr ReturnAd Param#1  Param#2  Param#3  Param#4  Param#5  Param#6  Para
m#7  Param#8  Param#9  Param#10 MachineCode
0011BFBC 0205820E 0205B6F8 0011C132 00000023 0011C124 0011BFD4 020534A1 0205
B6F8 0011C132 0011F020 004D31F0 5F 5D C2 08 00 90 90 90
0011BFD4 020534A1 0205B6F8 0011C132 0011F020 004D31F0 0011E130 00485116 0011
C124 0011C132 00000000 00000000 85 C0 75 07 83 C8 FF 5F
0011E130 00485116 0011C124 0011C132 00000000 00000000 00000000 00000000 0000
0000 0011F020 004D31F0 0000008F 89 85 F0 DF FF FF 8B 45
0011EFFC 00486414 004D31F0 0011EFF8 00000001 0011F03C 004D31F0 00000001 0000
0000 0013062C 00000000 00000000 85 C0 0F 84 0B 03 00 00
0011F018 00486A4C 004D31F0 0011F020 0011F0E0 004D31F0 77E3610C 0011F034 0048
6D7B 04C1006C 0011F03C 0011F0E0 85 C0 0F 84 9C 02 00 00
0011F034 00486D7B 04C1006C 0011F03C 0011F0E0 004D31F0 00000001 0011F058 0048
6FA0 04C1006C 0011F060 0011F0E0 85 C0 0F 84 96 01 00 00
0011F058 00486FA0 04C1006C 0011F060 0011F0E0 004D31F0 00000001 00000040 0000
0040 0011F074 00487518 04C1006C 85 C0 0F 84 01 04 00 00
0011F074 00487518 04C1006C 0011F07C 00000000 004D31F0 00000000 0011F084 0048
758A 04C1006C 00000000 0011F094 85 C0 74 2A 8B 45 08 8A
0011F084 0048758A 04C1006C 00000000 0011F094 0048759C 004D31F0 0011F0E0 0011
F0D4 0048D95C 004D31F0 0011F0E0 5D C2 08 00 55 8B EC FF
0011F094 0048759C 004D31F0 0011F0E0 0011F0D4 0048D95C 004D31F0 0011F0E0 0000
0000 004D31F0 00000000 00000000 85 C0 74 10 FF 75 08 E8
0011F0D4 0048D95C 004D31F0 0011F0E0 00000000 004D31F0 00000000 00000000 0000
0000 00000000 00000000 00000000 85 C0 0F 84 E2 04 00 00
0011F268 0048E12E 004D31F0 04C1006C 00000096 004D31F0 004CF2A0 00000040 0002
0024 00000000 00000000 00000000 3B C3 89 46 44 74 6C 3B
0011F278 0048E495 004D3101 004D31F0 0011F288 0048E905 004D31F0 004D31F0 0011
F2A0 0048E97C 004D31F0 10003B9A 5E 5D C2 04 00 55 8B EC
0011F288 0048E905 004D31F0 004D31F0 0011F2A0 0048E97C 004D31F0 10003B9A 1000
3B9A 00000000 0011F424 0041AD2D 83 7E 48 00 74 16 FF 76
0011F2A0 0048E97C 004D31F0 10003B9A 10003B9A 00000000 0011F424 0041AD2D 004D
31F0 00000004 00000100 004CF2A0 5E 5D C2 08 00 55 8B EC
0011F424 0041AD2D 004D31F0 00000004 00000100 004CF2A0 00000000 00E12936 004B
7E4C 000401B4 004CF2A0 00000000 E9 B1 01 00 00 66 81 FF
0011F6A0 004252EA 004D31F0 00000096 00000000 00004046 000401B0 DCBAABCD 0000
0000 0011F498 00423323 0011F4B8 E9 64 05 00 00 FF 75 18
0011F6C8 004249A7 004CF2A0 000401B0 00000111 00000096 00000000 0011F73C 0042
4940 00000000 0011F6F4 77CF8654 57 89 45 14 FF 75 10 FF
0011F6F4 77CF8654 000401B0 00000111 00000096 004CA2A0 00424940 DCBAABCD 0000
0000 0011F73C 00424940 0011F75C 81 7C 24 04 CD AB BA DC
0011F75C 77CF8723 00424940 000401B0 00000111 00000096 00000000 00000111 0072
B918 0072B92C 00003C34 00000000 89 45 E4 83 4D FC FF E8
0011F798 77CFA0EC 00000000 00424940 000401B0 00000111 00000096 00000000 0072
B92C 00000001 00000111 00000111 8B C8 A1 60 D0 D4 77 F6
0011F7B8 77CFAA77 0072B918 00733DF8 00000096 00000000 00000001 004CF2A0 0011
F950 004248C4 000401B0 00000111 5E 5D C2 10 00 55 8B EC
0011F950 004248C4 000401B0 00000111 00000096 00000000 00000000 00003C34 0004
01B4 00000000 00000000 829B24DF E9 81 EC FF FF 39 BE A6
0011F978 0042338A 004CF2A0 000401B4 00000111 00000096 00000000 0011F9EC 0042
3323 77F59BAA 77F59BB3 0011FCC0 57 89 45 14 FF 75 10 FF
77F59BB3 0011FCC0 00020024 7FFDEC00 00000096 00000002 00020024 7FFDF000 0011
F97C 00000044 0011FA38 77FA88F0 21 00 00 00 24 FF 11 00
EC458BC3 008B008B 9A3DC933 0FC00000 C18BC194 E8658BC3 60D845C7 83FFFE79 8DFF
DC4D 6A50D845 1C07E800 4D830000


13:43:52.906 R 16454 000401B0 0100 00000011 001D0001
13:43:53.437 S 16454 000401B0 0100 00000011 401D0001
13:43:53.437 R 16454 000401B0 0100 00000011 401D0001
13:43:53.468 S 16454 000401B0 0100 00000011 401D0001
13:43:53.468 R 16454 000401B0 0100 00000011 401D0001
13:43:53.500 S 16454 000401B0 0100 00000011 401D0001
13:43:53.500 R 16454 000401B0 0100 00000011 401D0001
13:43:53.515 S 16454 000401B0 0100 00000035 00060001
13:43:53.515 S 16454 000401B0 0084 00000000 01B8019E
13:43:53.515 R 16454 000401B0 0084 00000000 01B8019E
13:43:53.515 S 15412 000401B4 0111 00000096 00000000
13:43:53.515 S 16454 000401B0 0111 00000096 00000000
13:43:53.546 S 15412 000401B4 001F 00000000 00000000
13:43:53.546 R 15412 000401B4 001F 00000000 00000000
13:43:53.546 S 15412 000401B4 000A 00000000 00000000
13:43:53.546 R 15412 000401B4 000A 00000000 00000000
13:43:53.546 S 15412 000401B4 0086 00000000 000301BC
13:43:53.546 S 15412 000401B4 000D 000001FE 0011D83C
13:43:53.546 R 15412 000401B4 000D 000001FE 0011D83C
13:43:53.546 R 15412 000401B4 0086 00000000 000301BC
13:43:53.546 S 15412 000401B4 0006 00000000 000301BC
13:43:53.546 S 16454 000401B0 0006 00000000 000301BC
13:43:53.546 R 16454 000401B0 0006 00000000 000301BC
13:43:53.546 R 15412 000401B4 0006 00000000 000301BC
13:43:53.546 S 15412 000401B4 0046 00000000 0011E42C
13:43:53.546 R 15412 000401B4 0046 00000000 0011E42C
13:43:53.546 S 16454 000401B0 0008 000201A4 00000000
13:43:53.546 S 16454 000401B0 0282 0000000B 00000000
13:43:53.546 R 16454 000401B0 0282 0000000B 00000000
13:43:53.546 R 16454 000401B0 0008 000201A4 00000000
13:43:53.546 S 16454 000401B0 0281 00000000 C000000F
13:43:53.562 R 16454 000401B0 0281 00000000 C000000F
13:43:53.562 S 16454 000401B0 0282 00000001 00000000
13:43:53.562 R 16454 000401B0 0282 00000001 00000000
13:43:53.562 S 15412 000401B4 0020 000401B4 0200FFFE
13:43:53.562 R 15412 000401B4 0020 000401B4 0200FFFE
13:43:53.562 S 15412 000401B4 0020 000401B4 0200FFFE
13:43:53.562 R 15412 000401B4 0020 000401B4 0200FFFE
13:43:54.656 S 15412 000401B4 000A 00000001 00000000
13:43:54.656 R 15412 000401B4 000A 00000001 00000000
13:43:54.656 S 15412 000401B4 0046 00000000 0011E444
13:43:54.656 R 15412 000401B4 0046 00000000 0011E444
13:43:54.656 S 15412 000401B4 0086 00000001 000301BC
13:43:54.656 S 15412 000401B4 000D 000001FE 0011D854
13:43:54.656 R 15412 000401B4 000D 000001FE 0011D854
13:43:54.656 R 15412 000401B4 0086 00000001 000301BC
13:43:54.656 S 15412 000401B4 0006 00000001 000301BC
13:43:54.656 S 16454 000401B0 0006 00000001 000301BC
13:43:54.656 S 16454 000401B0 0281 00000001 C000000F
13:43:54.656 S 16454 000401B0 0282 00000002 00000000
13:43:54.656 R 16454 000401B0 0282 00000002 00000000
13:43:54.656 R 16454 000401B0 0281 00000001 C000000F
13:43:54.656 S 16454 000401B0 0007 000301BC 00000000
13:43:54.656 S 16454 000401B0 0282 0000000A 00000000
13:43:54.656 R 16454 000401B0 0282 0000000A 00000000
13:43:54.656 S 16454 000401B0 0282 0000000B 00000000
13:43:54.656 R 16454 000401B0 0282 0000000B 00000000
13:43:54.656 R 16454 000401B0 0007 000301BC 00000000
13:43:54.656 R 16454 000401B0 0006 00000001 000301BC
13:43:54.656 S 16454 000401B0 0008 000401B4 00000000
13:43:54.656 S 16454 000401B0 0282 0000000B 00000000
13:43:54.656 R 16454 000401B0 0282 0000000B 00000000
13:43:54.656 R 16454 000401B0 0008 000401B4 00000000
13:43:54.656 S 16454 000401B0 0281 00000000 C000000F
13:43:54.656 R 16454 000401B0 0281 00000000 C000000F
13:43:54.656 S 15412 000401B4 0281 00000001 C000000F
13:43:54.656 R 15412 000401B4 0281 00000001 C000000F
13:43:54.656 S 15412 000401B4 0007 000401B0 00000000
13:43:54.656 S 15412 000401B4 0008 000401B0 00000000
13:43:54.656 R 15412 000401B4 0008 000401B0 00000000
13:43:54.656 S 15412 000401B4 0281 00000000 C000000F
13:43:54.656 R 15412 000401B4 0281 00000000 C000000F
13:43:54.656 S 16454 000401B0 0281 00000001 C000000F
13:43:54.656 R 16454 000401B0 0281 00000001 C000000F
13:43:54.656 S 16454 000401B0 0007 000401B4 00000000
13:43:54.656 S 16454 000401B0 0282 0000000A 00000000
13:43:54.656 R 16454 000401B0 0282 0000000A 00000000
13:43:54.656 S 16454 000401B0 0282 0000000B 00000000
13:43:54.656 R 16454 000401B0 0282 0000000B 00000000
13:43:54.656 R 16454 000401B0 0007 000401B4 00000000
13:43:54.656 R 15412 000401B4 0007 000401B0 00000000
13:43:54.656 R 15412 000401B4 0006 00000001 000301BC
13:43:54.671 S 16454 000401B0 0084 00000000 01B8019E
13:43:54.671 R 16454 000401B0 0084 00000000 01B8019E
13:43:54.671 S 16454 000401B0 0020 000401B0 02000001
13:43:54.671 S 15412 000401B4 0020 000401B0 02000001
13:43:54.671 R 15412 000401B4 0020 000401B0 02000001
13:43:54.671 R 16454 000401B0 0020 000401B0 02000001
13:43:54.671 R 16454 000401B0 0111 00000096 00000000
13:43:54.671 R 15412 000401B4 0111 00000096 00000000
13:43:54.671 R 16454 000401B0 0100 00000035 00060001
13:43:54.671 S 16454 000401B0 0084 00000000 01B8019E
13:43:54.671 R 16454 000401B0 0084 00000000 01B8019E
13:43:54.671 S 16454 000401B0 0020 000401B0 02000001
13:43:54.671 S 15412 000401B4 0020 000401B0 02000001
13:43:54.671 R 15412 000401B4 0020 000401B0 02000001
13:43:54.671 R 16454 000401B0 0020 000401B0 02000001
13:43:54.734 S 16454 000401B0 0101 0000000D C01C0001
13:43:54.734 R 16454 000401B0 0101 0000000D C01C0001
13:43:55.468 S 16454 000401B0 0100 0000002E 01530001
13:43:55.468 S 16454 000401B0 0084 00000000 01B8019E
13:43:55.468 R 16454 000401B0 0084 00000000 01B8019E
13:43:55.468 S 15412 000401B4 0111 00000055 00000000
13:43:55.468 S 16454 000401B0 0111 00000055 00000000
13:43:55.468 S 15412 000401B4 000C 00000000 0011EFD4
13:43:55.468 S 15412 000401B4 000D 000001FE 0011E3E0
13:43:55.468 R 15412 000401B4 000D 000001FE 0011E3E0
13:43:55.468 R 15412 000401B4 000C 00000000 0011EFD4
13:43:55.468 R 16454 000401B0 0111 00000055 00000000
13:43:55.468 R 15412 000401B4 0111 00000055 00000000
13:43:55.468 R 16454 000401B0 0100 0000002E 01530001
13:43:55.500 S 16454 000401B0 0101 0000002E C1530001
13:43:55.500 R 16454 000401B0 0101 0000002E C1530001
13:43:55.578 S 15412 000401B4 007F 00000002 00000000
13:43:55.578 R 15412 000401B4 007F 00000002 00000000
13:43:56.281 S 16454 000401B0 0100 00000011 001D0001
13:43:56.281 R 16454 000401B0 0100 00000011 001D0001
13:43:56.562 S 16454 000401B0 0100 00000053 001F0001
13:43:56.562 R 16454 000401B0 0100 00000053 001F0001
13:43:56.562 S 16454 000401B0 0102 00000013 001F0001
13:43:56.562 S 15412 000401B4 000C 00000000 0011F53C
13:43:56.562 S 15412 000401B4 000D 000001FE 0011E948
13:43:56.562 R 15412 000401B4 000D 000001FE 0011E948
13:43:56.578 R 15412 000401B4 000C 00000000 0011F53C
13:43:56.578 R 16454 000401B0 0102 00000013 001F0001
13:43:56.578 S 16454 000401B0 0084 00000000 01B8019E
13:43:56.578 R 16454 000401B0 0084 00000000 01B8019E
13:43:56.578 S 16454 000401B0 0020 000401B0 02000001
13:43:56.578 S 15412 000401B4 0020 000401B0 02000001
13:43:56.578 R 15412 000401B4 0020 000401B0 02000001
13:43:56.578 R 16454 000401B0 0020 000401B0 02000001
13:43:56.625 S 16454 000401B0 0101 00000053 C01F0001
13:43:56.625 R 16454 000401B0 0101 00000053 C01F0001
13:43:56.671 S 16454 000401B0 0101 00000011 C01D0001
13:43:56.671 R 16454 000401B0 0101 00000011 C01D0001
13:43:56.687 S 15412 000401B4 007F 00000002 00000000
13:43:56.687 R 15412 000401B4 007F 00000002 00000000
13:43:57.640 S 16454 000401B0 0100 00000011 001D0001
13:43:57.640 R 16454 000401B0 0100 00000011 001D0001
13:43:58.171 S 16454 000401B0 0100 00000011 401D0001
13:43:58.171 R 16454 000401B0 0100 00000011 401D0001
13:43:58.203 S 16454 000401B0 0100 00000011 401D0001
13:43:58.203 R 16454 000401B0 0100 00000011 401D0001
13:43:58.234 S 16454 000401B0 0100 00000011 401D0001
13:43:58.234 R 16454 000401B0 0100 00000011 401D0001
13:43:58.265 S 16454 000401B0 0100 00000011 401D0001
13:43:58.265 R 16454 000401B0 0100 00000011 401D0001
13:43:58.296 S 16454 000401B0 0100 00000011 401D0001
13:43:58.296 R 16454 000401B0 0100 00000011 401D0001
13:43:58.328 S 16454 000401B0 0100 00000011 401D0001
13:43:58.328 R 16454 000401B0 0100 00000011 401D0001
13:43:58.359 S 16454 000401B0 0100 00000011 401D0001
13:43:58.359 R 16454 000401B0 0100 00000011 401D0001
13:43:58.390 S 16454 000401B0 0100 00000035 00060001
13:43:58.390 S 16454 000401B0 0084 00000000 01B8019E
13:43:58.390 R 16454 000401B0 0084 00000000 01B8019E
13:43:58.390 S 15412 000401B4 0111 00000096 00000000
13:43:58.390 S 16454 000401B0 0111 00000096 00000000
13:43:58.406 S 15412 000401B4 001F 00000000 00000000
13:43:58.406 R 15412 000401B4 001F 00000000 00000000
13:43:58.406 S 15412 000401B4 000A 00000000 00000000
13:43:58.406 R 15412 000401B4 000A 00000000 00000000
13:43:58.406 S 15412 000401B4 0086 00000000 000401BC
13:43:58.406 S 15412 000401B4 000D 000001FE 0011D83C
13:43:58.406 R 15412 000401B4 000D 000001FE 0011D83C
13:43:58.406 R 15412 000401B4 0086 00000000 000401BC
13:43:58.406 S 15412 000401B4 0006 00000000 000401BC
13:43:58.406 S 16454 000401B0 0006 00000000 000401BC
13:43:58.406 R 16454 000401B0 0006 00000000 000401BC
13:43:58.406 R 15412 000401B4 0006 00000000 000401BC
13:43:58.406 S 15412 000401B4 0046 00000000 0011E42C
13:43:58.406 R 15412 000401B4 0046 00000000 0011E42C
13:43:58.406 S 16454 000401B0 0008 00030192 00000000
13:43:58.406 S 16454 000401B0 0282 0000000B 00000000
13:43:58.406 R 16454 000401B0 0282 0000000B 00000000
13:43:58.406 R 16454 000401B0 0008 00030192 00000000
13:43:58.406 S 16454 000401B0 0281 00000000 C000000F
13:43:58.406 R 16454 000401B0 0281 00000000 C000000F
13:43:58.421 S 16454 000401B0 0282 00000001 00000000
13:43:58.421 R 16454 000401B0 0282 00000001 00000000
13:43:58.421 S 15412 000401B4 0020 000401B4 0200FFFE
13:43:58.421 R 15412 000401B4 0020 000401B4 0200FFFE
13:43:58.421 S 15412 000401B4 0020 000401B4 0200FFFE
13:43:58.421 R 15412 000401B4 0020 000401B4 0200FFFE
13:44:00.156 S 15412 000401B4 000A 00000001 00000000
13:44:00.156 R 15412 000401B4 000A 00000001 00000000
13:44:00.156 S 15412 000401B4 0046 00000000 0011E444
13:44:00.156 R 15412 000401B4 0046 00000000 0011E444
13:44:00.156 S 15412 000401B4 0086 00000001 000401BC
13:44:00.156 S 15412 000401B4 000D 000001FE 0011D854
13:44:00.156 R 15412 000401B4 000D 000001FE 0011D854
13:44:00.171 R 15412 000401B4 0086 00000001 000401BC
13:44:00.171 S 15412 000401B4 0006 00000001 000401BC
13:44:00.171 S 16454 000401B0 0006 00000001 000401BC
13:44:00.171 S 16454 000401B0 0281 00000001 C000000F
13:44:00.171 S 16454 000401B0 0282 00000002 00000000
13:44:00.171 R 16454 000401B0 0282 00000002 00000000
13:44:00.171 R 16454 000401B0 0281 00000001 C000000F
13:44:00.171 S 16454 000401B0 0007 000401BC 00000000
13:44:00.171 S 16454 000401B0 0282 0000000A 00000000
13:44:00.171 R 16454 000401B0 0282 0000000A 00000000
13:44:00.171 S 16454 000401B0 0282 0000000B 00000000
13:44:00.171 R 16454 000401B0 0282 0000000B 00000000
13:44:00.171 R 16454 000401B0 0007 000401BC 00000000
13:44:00.171 R 16454 000401B0 0006 00000001 000401BC
13:44:00.171 S 16454 000401B0 0008 000401B4 00000000
13:44:00.171 S 16454 000401B0 0282 0000000B 00000000
13:44:00.171 R 16454 000401B0 0282 0000000B 00000000
13:44:00.171 R 16454 000401B0 0008 000401B4 00000000
13:44:00.171 S 16454 000401B0 0281 00000000 C000000F
13:44:00.171 R 16454 000401B0 0281 00000000 C000000F
13:44:00.171 S 15412 000401B4 0281 00000001 C000000F
13:44:00.171 R 15412 000401B4 0281 00000001 C000000F
13:44:00.171 S 15412 000401B4 0007 000401B0 00000000
13:44:00.171 S 15412 000401B4 0008 000401B0 00000000
13:44:00.171 R 15412 000401B4 0008 000401B0 00000000
13:44:00.171 S 15412 000401B4 0281 00000000 C000000F
13:44:00.171 R 15412 000401B4 0281 00000000 C000000F
13:44:00.171 S 16454 000401B0 0281 00000001 C000000F
13:44:00.171 R 16454 000401B0 0281 00000001 C000000F
13:44:00.171 S 16454 000401B0 0007 000401B4 00000000
13:44:00.171 S 16454 000401B0 0282 0000000A 00000000
13:44:00.171 R 16454 000401B0 0282 0000000A 00000000
13:44:00.171 S 16454 000401B0 0282 0000000B 00000000
13:44:00.171 R 16454 000401B0 0282 0000000B 00000000
13:44:00.171 R 16454 000401B0 0007 000401B4 00000000
13:44:00.171 R 15412 000401B4 0007 000401B0 00000000
13:44:00.171 R 15412 000401B4 0006 00000001 000401BC
13:44:00.171 S 16454 000401B0 0084 00000000 01B8019E
13:44:00.171 R 16454 000401B0 0084 00000000 01B8019E
13:44:00.171 S 16454 000401B0 0020 000401B0 02000001
13:44:00.171 S 15412 000401B4 0020 000401B0 02000001
13:44:00.171 R 15412 000401B4 0020 000401B0 02000001
13:44:00.171 R 16454 000401B0 0020 000401B0 02000001
13:44:00.171 R 16454 000401B0 0111 00000096 00000000
13:44:00.171 R 15412 000401B4 0111 00000096 00000000
13:44:00.171 R 16454 000401B0 0100 00000035 00060001
13:44:00.171 S 16454 000401B0 0084 00000000 01B8019E
13:44:00.171 R 16454 000401B0 0084 00000000 01B8019E
13:44:00.171 S 16454 000401B0 0020 000401B0 02000001
13:44:00.171 S 15412 000401B4 0020 000401B0 02000001
13:44:00.171 R 15412 000401B4 0020 000401B0 02000001
13:44:00.171 R 16454 000401B0 0020 000401B0 02000001
13:44:00.218 S 16454 000401B0 0101 0000000D C01C0001
13:44:00.218 R 16454 000401B0 0101 0000000D C01C0001
13:44:00.750 S 16454 000401B0 0100 00000011 001D0001
13:44:00.750 R 16454 000401B0 0100 00000011 001D0001
13:44:01.046 S 16454 000401B0 0100 0000005A 002C0001
13:44:01.046 S 16454 000401B0 0084 00000000 01B8019E
13:44:01.046 R 16454 000401B0 0084 00000000 01B8019E
13:44:01.046 R 16454 000401B0 0100 0000005A 002C0001
13:44:01.046 S 16454 000401B0 0102 0000001A 002C0001
13:44:01.046 S 16454 000401B0 0282 0000000B 00000000
13:44:01.046 R 16454 000401B0 0282 0000000B 00000000
13:44:01.046 S 16454 000401B0 0282 0000000B 00000000
13:44:01.046 R 16454 000401B0 0282 0000000B 00000000
13:44:01.046 S 15412 000401B4 000C 00000000 0011F528
13:44:01.046 S 15412 000401B4 000D 000001FE 0011E934
13:44:01.046 R 15412 000401B4 000D 000001FE 0011E934
13:44:01.046 R 15412 000401B4 000C 00000000 0011F528
13:44:01.046 S 16454 000401B0 0137 01010058 0006018C
13:44:01.046 R 16454 000401B0 0137 01010058 0006018C
13:44:01.046 S 16454 000401B0 0137 01010056 000401C4
13:44:01.046 R 16454 000401B0 0137 01010056 000401C4
13:44:01.046 R 16454 000401B0 0102 0000001A 002C0001
13:44:01.156 S 15412 000401B4 007F 00000002 00000000
13:44:01.156 R 15412 000401B4 007F 00000002 00000000
13:44:01.187 S 16454 000401B0 0101 0000005A C02C0001
13:44:01.187 R 16454 000401B0 0101 0000005A C02C0001
13:44:01.234 S 16454 000401B0 0101 00000011 C01D0001
13:44:01.234 R 16454 000401B0 0101 00000011 C01D0001
13:44:01.656 S 16454 000401B0 0100 00000011 001D0001
13:44:01.656 R 16454 000401B0 0100 00000011 001D0001
13:44:02.000 S 16454 000401B0 0100 00000053 001F0001
13:44:02.000 R 16454 000401B0 0100 00000053 001F0001
13:44:02.000 S 16454 000401B0 0102 00000013 001F0001
13:44:02.000 S 15412 000401B4 000C 00000000 0011F53C
13:44:02.000 S 15412 000401B4 000D 000001FE 0011E948
13:44:02.000 R 15412 000401B4 000D 000001FE 0011E948
13:44:02.015 R 15412 000401B4 000C 00000000 0011F53C
13:44:02.015 R 16454 000401B0 0102 00000013 001F0001
13:44:02.015 S 16454 000401B0 0084 00000000 01B8019E
13:44:02.015 R 16454 000401B0 0084 00000000 01B8019E
13:44:02.015 S 16454 000401B0 0020 000401B0 02000001
13:44:02.015 S 15412 000401B4 0020 000401B0 02000001
13:44:02.015 R 15412 000401B4 0020 000401B0 02000001
13:44:02.015 R 16454 000401B0 0020 000401B0 02000001
13:44:02.078 S 16454 000401B0 0101 00000053 C01F0001
13:44:02.078 R 16454 000401B0 0101 00000053 C01F0001
13:44:02.125 S 15412 000401B4 007F 00000002 00000000
13:44:02.125 R 15412 000401B4 007F 00000002 00000000
13:44:02.125 S 16454 000401B0 0101 00000011 C01D0001
13:44:02.125 R 16454 000401B0 0101 00000011 C01D0001
13:44:03.156 S 16454 000401B0 0100 00000011 001D0001
13:44:03.156 R 16454 000401B0 0100 00000011 001D0001
13:44:03.531 S 16454 000401B0 0100 00000035 00060001
13:44:03.531 S 16454 000401B0 0084 00000000 01B8019E
13:44:03.531 R 16454 000401B0 0084 00000000 01B8019E
13:44:03.531 S 15412 000401B4 0111 00000096 00000000
13:44:03.531 S 16454 000401B0 0111 00000096 00000000

[ ]
RE:08052 FindRegular関数使用で、dump.txNo.08053
秀まるお さん 05/06/06 14:22
 
 教えていただいたdump.txtから原因が分かりました。以前同じようなバグがあ
って直したのが、まだ直しきってませんでした。大変失礼しました。

 FindRegular関数が呼ばれる度に正規表現のコンパイルを毎回実行すると遅く
なるので、ある程度キャッシュして遅くならないような処理をしてるんですが、
それがうまく働いた時にダメでした。なので、たぶんFindRegular関数の呼び出
し順序とかが微妙に一致してないとうまく再現しないようです。

 とにかく次のバージョンにて修正させていただきます。

[ ]
RE:08053 FindRegular関数使用で、dump.txNo.08055
白雲斎 さん 05/06/06 15:05
 
再現できて何よりです。
ところで、素人考えで恐縮ですが『素朴な疑問/感想』です。

特別なDLLを用いている訳でもないのに、わざわざ「DLL呼び出し機能」でこれら
コマンドを実装したのは、何か理由があってのことなんでしょうか?
マクロに埋め込まれた関数として実装することに、何か不都合があるのでしょう
か?

「HmJre.dll」を秀丸の正規表現DLLに指定していないユーザーへの配慮からか、
とも考えましたが、それじゃ「HmJre.dll」特有のメタキャラクタはどうなんだ
とも思うし。
「JRE32.dll」を必要としているユーザーがどの位いるのかは知りませんが、
4.1x から一足飛びに 5.0 へのメージャー・バージョンアップしようとしている
のに、過去の遺産に縛られているようで『なんだかな〜』と言う感じです。
いや、独り善がりな思い過ごしなら、ご勘弁ください。

-- 幻想のマクロ -----------------------------------------------
$s = "HogeFoooBarHoge";
$p = "Fo+[^H]+";
if( regexpCompile($p) )
{
 #m = regexpMatch( $s, $p, 0 );
 if( #m >= 0 ) message midstr( $s, #m, regexpMatchSize() );
}
---------------------------------------------------------------

[ ]
RE:08055 FindRegular関数使用で、dump.txNo.08056
秀まるお さん 05/06/06 15:23
 
 作る側の都合として、秀丸本体にすべての機能を実装するよりは、本体とは別
の所で新しい機能を実装した方がやりやすいというのがあります。

 たとえばV5.00での変換モジュールなんかも、そういった趣旨で分かれた物で
すけど。そもそも正規表現のモジュールがDLLになってるのもそうだし。

 マクロを拡張する系の物なら、dllで対応する方が簡単です。特に今回につい
ては僕の担当部分だったからなおさらですけど。

[ ]
RE:08056 FindRegular関数使用で、dump.txNo.08059
白雲斎 さん 05/06/06 16:02
 
くだらない『疑問/感想』に返信を頂き、恐縮です。
ありがとうございました。

[ ]
RE:08053 FindRegular関数使用で、dump.txNo.08072
白雲斎 さん 05/06/07 21:37
 
β27 で修正されていることを確認しました。
ご苦労様でした。

[ ]