自動実行マクロを試していて思ったのですが,マクロから操作できるPersistentなデータ領域があると便利じゃないでしょうか.
マクロを関数として扱って引数を渡そうとするのは容易ではないですが,決められた変数に値を設定して呼び出すようにするのはそんなに難しくないように思います.
たとえば,
* SetParams( 番号, 設定文字列 )
* var c = GetParams( 番号 )
変数というよりレジスタに近いですが,こんなものでもだいたい十分かなと.
自動実行マクロでいえば,
保存前:保存後のファイル名を1番と2番に入れて渡すようにすれば
GetSaveFilename()と専用マクロを用意する必要がなくなります.
もう1つの使い方は実行の都度連番を振っていくようなマクロです.
(アイディア自体は遠い昔のMIFESからの借用ですけど)
与え方は番号(数値),名前のどちらがよいか
名前ならr0-r7, i0-i8, g0-g7とか(SPARC風)
数値の方が変換のオーバーヘッドが少な...くはないのか.現在の構造では.
エディタからパラメータを渡すのに4つくらい
マクロが自由に使うために16個くらい.
(可能ならエディタをまたがって使えるglobalなものを同数)