replaceall の resultNo.08794
山紫水明 さん 15/11/01 21:39
 
 秀丸担当さん,

>一気の場合はaskを解除して全置換扱いとしてしまっていました。
>この場合も累計となるように修正させていただきます。

 β13ですが,どうもおかしいようです。
 [置換+次],[一気]をどう組み合わせても結果は1になります。また最初に
「キャンセル」してもやはり1です。

                    山紫水明

[ ]
RE:08794 replaceall の resultNo.08799
秀丸担当 さん 15/11/02 11:32
 

こちらで試してみた限りでは、累計となった値が帰ってきていて、1となってし
まう場合がないかソースを見直してみたのですが不明でした。
以下のマクロを、マクロを開いたファイル上で実行してみたところ、「置換+
次」や「一気」の手順によらず、6になりました。

replaceall "A", "a", ask;
message str(result);

キャンセルした場合はその時点での個数か、置換していなければ0になりました。
もし特定のマクロで起きるような場合、マクロの内容を教えていただけると助か
ります。

[ ]
RE:08799 RE:replaceall の resultNo.08800
山紫水明 さん 15/11/02 19:49
 
 秀丸担当さん,

 すみません。私のミスでした。テストマクロは次のようになっていました。

//------------------------------//
begingroupundo;
replaceallfast "A", "B", casesense, ask;
endgroupundo;
message str(result);
endmacro;
//------------------------------//

 やり直しが簡単にできるようにグループアンドゥを指定したのですが,メッ
セージは置換の直後に出すようにすべきところでした。
 これだと endgroupundo の結果になり,通常常に1になるはずですね。お恥ず
かしい次第です。
                    山紫水明

[ ]