|
h-tom です。
カラーマーカーを設定・解除後、nextcolormarkerが正常に動作しない場合
があります。
再現性が悪いのですが、カラーマーカー解除後に、「nextcolormarker 0x01;」
で開始位置を検索すると、失敗しないで、全然違うところにマッチします。
サンプルファイルの、「秀丸?」を選択し、test3.mac、test2.mc、test1.macの
順で実行マクロを実行して下さい。
マクロファイルを分けたのは、1つにした場合、再現しなかったらです。
もともと、以下のマクロ実行して、カラーマーカー削除後、保存時に無限
ループになってしまい、気がつきました。
(カラーマーカー検索時に、ファイルの最後にマッチし続ける)
サンプルではなく、こちらのマクロを使う方がいいかもしれません。
(カラーマーカーを1箇所指定して、保存、削除して、保存で再現するかな?)
・カラーマーカーデータ保存・復元マクロ
http://homepage3.nifty.com/_htom/macro/macro_etc.html#label-109
・カラーマーカー用ダイアログ
http://homepage3.nifty.com/_htom/macro/macro_etc.html#label-100
秀丸エディタ:Ver.7.08β14、Ver.7.07でも同様です。
OS:Windows2000SP4
//サンプルファイル ここから
秀丸?
//サンプルファイル ここまで
//test1.mac
debuginfo 1;
debuginfo "実行:" + currentmacrobasename;
debuginfo " x=" + str(x) + " y=" + str(y);
nextcolormarker 0x01;
debuginfo " x=" + str(x) + " y=" + str(y) + " result=" + str(result) + " col
orcode=0x" + hex(colorcode);
endmacro;
//
//test2.mac
debuginfo 1;
debuginfo "実行:" + currentmacrobasename + " x=" + str(x) + " y=" + str(y);
debuginfo "seltopx=" + str(seltopx) + " seltopy=" + str(seltopy) + " selendx
="+str(selendx) + " selendy=" + str(selendy);
colormarker;
endmacro;
//
//test3.mac
debuginfo 1;
debuginfo "実行:" + currentmacrobasename + " x=" + str(x) + " y=" + str(y);
debuginfo "seltopx=" + str(seltopx) + " seltopy=" + str(seltopy) + " selendx
="+str(selendx) + " selendy=" + str(selendy);
colormarker 0x0000ff,0xff0000,1,0,0;
escape;
//left;
selectall;
debuginfo "//ここから";
debuginfo gettext(seltopx, seltopy, selendx, selendy);
debuginfo "//ここまで";
endmacro;
//
//ログ ここから
実行:test3.mac x=4 y=1
seltopx=0 seltopy=1 selendx=4 selendy=1
//ここから
秀丸?
//ここまで
実行:test2.mac x=4 y=1
seltopx=0 seltopy=1 selendx=4 selendy=1
実行:test1.mac
x=0 y=0
x=0 y=3 result=1 colorcode=10
実行:test1.mac
x=0 y=3
x=0 y=3 result=1 colorcode=10
実行:test1.mac
x=0 y=3
x=0 y=3 result=1 colorcode=10
実行:test1.mac
x=0 y=0
x=0 y=3 result=1 colorcode=10
実行:test1.mac
x=0 y=3
x=0 y=3 result=1 colorcode=10
実行:test1.mac
x=0 y=0
x=0 y=3 result=1 colorcode=10
実行:test1.mac
x=0 y=2
x=0 y=3 result=1 colorcode=10
//ログ ここまで
|
|