replaceall の result
No.08794
山紫水明
さん 15/11/01 21:39
秀丸担当さん,
>一気の場合はaskを解除して全置換扱いとしてしまっていました。
>この場合も累計となるように修正させていただきます。
β13ですが,どうもおかしいようです。
[置換+次],[一気]をどう組み合わせても結果は1になります。また最初に
「キャンセル」してもやはり1です。
山紫水明
[
△
]
RE:08794 replaceall の result
No.08799
秀丸担当
さん 15/11/02 11:32
こちらで試してみた限りでは、累計となった値が帰ってきていて、1となってし
まう場合がないかソースを見直してみたのですが不明でした。
以下のマクロを、マクロを開いたファイル上で実行してみたところ、「置換+
次」や「一気」の手順によらず、6になりました。
replaceall "A", "a", ask;
message str(result);
キャンセルした場合はその時点での個数か、置換していなければ0になりました。
もし特定のマクロで起きるような場合、マクロの内容を教えていただけると助か
ります。
[
△
]
RE:08799 RE:replaceall の result
No.08800
山紫水明
さん 15/11/02 19:49
秀丸担当さん,
すみません。私のミスでした。テストマクロは次のようになっていました。
//------------------------------//
begingroupundo;
replaceallfast "A", "B", casesense, ask;
endgroupundo;
message str(result);
endmacro;
//------------------------------//
やり直しが簡単にできるようにグループアンドゥを指定したのですが,メッ
セージは置換の直後に出すようにすべきところでした。
これだと endgroupundo の結果になり,通常常に1になるはずですね。お恥ず
かしい次第です。
山紫水明
[
△
]