|
bouz さん今日は、Iranoan です。
やはり読み返しても解らないので、再度お聞きします。
> 例えばタグジャンプしたあと、バックタグジャンプする。
> このときなにかするとして、単にファイルを開いたのか、バックタグジャンプで戻っ
> たのか、そういうことがマクロで簡単に判断できるでしょう、ということです。
ここで「タグジャンプしたあと、バックタグジャンプする。」とは、
(1) メニュー等直接秀丸を操作して実行し、このあと実行するマクロを実行し
た時に、そのマクロ内部で、単に「ファイル」→「開く」をされたのか
「バックタブジャンプ」したのか知りたい
これにはマクロ実行前に、別の openfile や backtagjump で終わるマク
ロを実行しているときも含みます
(2) tagjump;
backtagjump;
と編集しているマクロがあり、その後の処理を記述したい
のどちらでしょう? それとも、これら以外の場合でしょうか?
> 何も考えず、普通にカットして、100文字削除して、というとき、文字削除の部分だ
> け戻すにはどうしますか?100回アンドゥします?
こちらについて、
> たとえば、今ボクは一気にアンドゥをやるために
> setmark;setmark;
> while (result&updated) undo;
あたりを読んでいて、私が読み違いをしていることが解りました。
しかし、新たな疑問として、何を「同じタイプの処理」とするのでしょう?
・マクロを実行した時は、同じマクロを実行したら、それは 1 つのマクロ単
位で同じタイプの扱いするのか?
o もしそうならば、マクロ内部で if, else, execmacro で分岐処理をさ
せているときはどうするか?
o そうでないなら、マクロの内部で書かれた個々のコマンド一つづつで同
じとするのか?
・setsearch $s, #s;
while( finddown2 )tohankaku;
としている時はどうするのか?
o 上/下候補は、同じコマンド・コードであっても検索/置換の時があり、
編集とすべきかどうか悩ましい
→これについては、両者のコマンド・コード時だけ置換ビットが立って
いるかで解るでしょうが、変換モジュールを使う「変換」系のコマンド
はどうなるのか予測が付きません。
あと直前のコマンド・コードだけ解っても、bouz さんの要望には合致しな
いと思います。少なくとも、アンドゥが可能な範囲内で、コマンド・コードの
全履歴が解らないと駄目でしょう。何故なら、直前のコマンド・コードだけで
はアンドゥをした時点で、直前のコマンド・コードはアンドゥのそれとなり、
意味が無くなってしまうからです。
|
|