replacedown後のカーソル位置が正しくないNo.02168
fun さん 03/07/08 12:49
 
秀丸担当さん こんにちは、funです。

マクロでreplacedown後のカーソル位置が正しくない(V3.19と結果が異なる)
場合があります。

[再現手順]
1.改行のみの行で以下のtest.macを実行する。
    //---------test.mac
        $hoge = "hoge";
        replacedown "^",$hoge, regular;
    //---------test.mac ここまで
2.最初いた行の先頭にhogeという文字が挿入されて、カーソルは次の行に
    移動している。
    (期待している動作は、カーソルは次の行に移動するのではなくて、最
    初にいた行のhogeという文字の後ろに移動するという動作です。)



こちらの環境はWindows2000 SP4 +  秀丸β6です。
(HMJRE.DLLでもJRE32.DLLでも上記のような状態になります。)

[ ]
RE:02168 replacedown後のカーソル位置がNo.02175
秀まるお さん 03/07/08 18:14
 
 これは僕がいじった所によるレベルダウンのようです。

 正規表現で「$」を「A」に置換すると無限ループになるバグを直したつもりだ
ったんですが、「^」にも反応するようで…。

 対応策が難しくなりました。

[ ]
RE:02175 replacedown後のカーソル位置がNo.02190
アルビレオ さん 03/07/09 07:08
 
アルビレオです。

> 正規表現で「$」を「A」に置換すると無限ループになるバグを直したつもりだ
>ったんですが、「^」にも反応するようで…。
>
> 対応策が難しくなりました。

「正規表現文字列の最後が $ のときはカーソルを次の位置へ移動する、先頭が
^ のときはカーソルをひとつ前へ」
ぐらいしか対応策がないような気がします。

[ ]
RE:02175 replacedown後のカーソル位置がNo.02194
Arimac さん 03/07/09 09:21
 
連続で置換する時だけにするとか・・・

[ ]
RE:02194 replacedown後のカーソル位置がNo.02206
秀まるお さん 03/07/10 11:17
 
 正規表現で"$"を置換するときだけカーソル移動するようにします。

[ ]