|
Windows 95 OSR 2, Hidemaru Version 2.26 の環境です。
あるデータを、マクロ (BUGB1.mac) で処理して、
ファイルを破棄して終了 (quit) すると、
その「秀丸エディタ」が強制終了されます。ほかの窓は生きています。
いろいろなデータがありますが、その一部でこのトラブルは発生します。
データが多い、少ないとかには依存しません。長いデータかな replaceup ???
おびただしいデータと、マクロを整理して、必ず、トラブルを発生させる、
テストデータと小さくしたマクロ (ステップを減らした) を用意したのですが、
見てもらうというか、デバックしてもらえませんでしょうか ???
よろしくお願いします。
番頭++
========================================================================
HIDEMARU のページ違反です。
モジュール : KERNEL32.DLL、アドレス : 0157:bff78769
Registers:
EAX=00000000 CS=0157 EIP=bff78769 EFLGS=00010202
EBX=004bb098 SS=015f ESP=005cf7b0 EBP=005cf7e4
ECX=00000000 DS=015f ESI=004baf6c FS=53df
EDX=72cf2176 ES=015f EDI=0000012c GS=0000
Bytes at CS:EIP:
89 51 08 8b 53 08 8b 43 04 8d 8b 0b 10 00 00 c1
Stack dump:
005cf7e4 004baf74 00480000 0048000c bff7994e 00480000 004baf6c 0000012c
00000200 bff76ce1 004b9822 00032e50 004baf6c 005cf82c bff79f32 00480000
========================================================================
//* BUGB1.mac - 1998/10/01 - Delete Same Words
if( code == '/' || code == '\t' ){ endmacro; }
escape; gofiletop;
selectall; copy; escape; gofiletop; newfile; paste;
escape; gofileend;
while( (x+y) != 0 ){
up; selectword;
$wk1 = gettext(seltopx,seltopy,selendx,selendy); escape; down;
replaceup "^" + $wk1 + "\\n" + $wk1 + "\\n", $wk1 + "\n", regular;
while( result ){
findup;
}
up;
}
quit; // ここで異常終了します。!!!
endmacro;
BUGB1.txt データ 1. の始まりです。このデータでは問題が発生します。
SCREENS
SCREENS
SWITCH_USER_OF_PROGRAMS
SWITCH_USER_OF_PROGRAMS
[EOF]
BUGB2.txt データ 2. の始まりです。このデータでは問題が発生しません。
SCREENS
SCREENS
SWITCH_USER_OF_PROGRAM
SWITCH_USER_OF_PROGRAM
[EOF]
|
|