|
>マクロでundoを使うことは個人的には、まずないと思っています。
>undo文を書く位なら、直前の編集系文を消します。
>マクロを実行する前の編集をやり直すような使い方を想定しているなら、
>以下で行なわれた変更で厳密な意味での互換性は既に失われています。
アウトライン解析の枠のドラッグ&ドロップは確かに厳密には互換は無いですが、
相当するマクロ文が無いので、あまり問題ではないと思います。
マクロで編集したことはマクロでundoできないと互換性の問題はあると思います。
例:
//(編集)
// :
question "これでいいですか?";
if( result == no ) {
//(undo何回か)
// :
}
>ところで、キー操作の記録でやり直しが記録されなくなっています(v6.14で記録され
>るのを確認しました。)が、
>改版記録に記載がありませんが、意図的なものでしょうか?
確認してみたところ2つ問題を見つけました。
1つは、連続入力後のやり直しで、記録内容と実際のやり直しで食い違いが起き
ていました。
insert "a";
insert "b";
insert "c";
undo;
という操作を行ったとき、実際に記録されるのは
insert "abc";
undo;
になります。記録中は"c"だけが消えるのに対して再生では"abc"が消えます。
これは秀丸エディタV1.xxの頃からずっと起きていた問題のようです。
何らかの対策が必要だと思いますが、これをうまいことするのは結構複雑になっ
てしまうと思います。
今まで報告が無かったことからすると使われていることがほとんど無いのかもし
れません。
安易な対策ですが、こういうケースになる場合はやり直しを禁止するようにして
しまおうかと思います。
β10でそのようにしてみようと思います。
もう一つは、記録したものを「キー操作の保存」をすると保存されていませんで
した。
これはV7.xxから起きていたようでした。
こちらはβ10で修正させていただきます。
|
|