|
TAKA です。
overwriteでの改行の扱いで、挙動不信な所がありましたので、お
知らせします。(マクロ作者用会議室で、ひろさんの指摘されてた
件も含めて)
// テスト用ファイル(ここから)
01234567890123456789[EOF]
// テスト用ファイル(ここまで)
[EOF]はファイルの終了位置です。
// マクロ(ここから)
overwrite "TEST1\nTEST2";
endmacro;
// マクロ(ここまで)
テスト用ファイルを開き(カーソルはファイルの先頭)、マクロを
実行すると、
// テスト用ファイル(マクロ実行後)(ここから)
TEST1[J]TEST20123456789[EOF]
// テスト用ファイル(マクロ実行後)(ここまで)
[J]はJが反転した状態(文字コードは0x0A)
となります。改行されないのは正解なのでしょうか?
ひょっとして、overwriteで改行を指定すること自体が認められて
いないのでしょうか?
でも、上書きで改行しなさいといった時に、どうなるのが正解なの
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
かもよく分かりませんね。
^^^^^^^^^^^^^^^^^^^^^^^^
私は、上書きでの改行は保証しないでもよいとは思いますが。
それと、アンドゥが一文字単位になるのですが、これは仕様なので
しょうか?
「insert」はアンドゥは文字列単位なので、同様な仕様の方がいいと
思うのですが。
もう一つは、overwriteで改行が認められているという前程で、
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
アンドゥとリィドゥの制御がおかしいようです。
マクロ実行後に、アンドゥを可能なかぎり実行(マクロ実行前の状
態)すると、
// テスト用ファイル(アンドゥ実行後)(ここから)
01234567890123456789[EOF]
// テスト用ファイル(アンドゥ実行後)(ここまで)
となります。(これは意図した通り)
次に、リィドゥを可能なかぎり実行(マクロ実行後の状態)すると、
// テスト用ファイル(リィドゥ実行後)(ここから)
TEST1TEST2
567890123456789[EOF]
// テスト用ファイル(リィドゥ実行後)(ここまで)
となってしまいます。(最初の56789はいらない)
もう一度、アンドゥを可能なかぎり実行(マクロ実行前の状態)す
ると、
// テスト用ファイル(再度のアンドゥ実行後)(ここから)
012340123456789[EOF]
// テスト用ファイル(再度のアンドゥ実行後)(ここまで)
となってしまいます。(明らかにおかしい)
もう一度、リィドゥを可能なかぎり実行(マクロ実行後の状態)す
ると、
// テスト用ファイル(再度のリィドゥ実行後)(ここから)
TEST1TEST2
0123456789[EOF]
// テスト用ファイル(再度のリィドゥ実行後)(ここまで)
となってしまいます。
最後に整理しておきます。
・overwriteでの改行は認められている?
・overwriteでのアンドゥは1文字単位になっている(insertと違う)
が、仕様?
以下は、改行が認めれているという前程です。
・overwriteで改行した時にはどうなるのが正解?
・アンドゥリィドゥの制御がおかしいようです。
|
|