|
お疲れ様です。
・エディタ的に数えた場合、行の途中である
・ワープロ的に数えた場合、行の先頭である
(つまり、1行がとても長く、折り返し文字数を超えて折り返した直後)
以上の両条件を満たしている座標へ moveto2 column, lineno; で移動した場合、
「ワープロ的に数えた前行の、最後の文字の右」に移動してしまいます。
この状態での column, lineno 自体は正しい値を示しますが、code の値は 0 となり
ます。
次に、right; や、カーソルキー右で移動しようとすると、
「最初に想定していた座標」に移動します。
この状態での column, lineno は、「right実行前と同じ値」を示します。
// 最初に示した条件でこのマクロを実行
moveto2 column, lineno; // 本来なら動かないはずだが、おかしな位置に移動
する
message str(column) + " " + str(lineno) + " / " + str(code);
right; // 右に移動しても、column, linenoに変化がない
message str(column) + " " + str(lineno) + " / " + str(code);
もちろん、movetolineno column+1, lineno; でも同様です。
Ver8.03β10
Windows Xp SP3
#Ver8.02も再現しました
|
|