DIESEL (Direct Interpretively Evaluated String Expression Language) で書かれたマクロ式を導入するマクロを使用して、マクロに条件式を追加できます。
形式は次のとおりです。
$M=expression
$M= でマクロを始めることにより、その後に続く文字列を DIESEL 式として評価するよう、アプリケーションに指示します。「式」は DIESEL 式 です。次の例では、マクロで条件式を定義しています。
FILLMODE $M=$(-,1,$(getvar,fillmode))
このマクロは、システム変数 FILLMODE をオンまたはオフに切り替えます。この切り替えは、1 から現在の FILLMODE 値を減算して得た値をシステム変数 FILLMODEに返すことによって行われます。この方法によって、システム変数を、有効値である 1 または 0(ゼロ)に切り替えることができます。
DIESEL 文字列言語を使用して "if-then" テストを実行する場合、条件が成立した後の通常終了のスペースまたはセミコロン(結果は[Enter])が不要な場合があります。マクロの後に ^Z を付けると、アプリケーションはマクロ式の終わりにスペース([Enter])を付加しません。
コマンド内の他の制御文字と同じように、ここで使用する ^Z は、^(カレット)と Z で構成される文字列で、[Ctrl]+[Z] (Mac OS では[Control]-[Z])ではありません。
次に、^Z をマクロの終止記号として使用している例を示します。
^C^C$M=$(if,$(=,$(getvar,tilemode),0),$S=mview _mspace )^Z ^C^C$M=$(if,$(=,$(getvar,tilemode),0),$S=mview _pspace )^Z
上記のマクロが ^Z で終了しなかった場合、自動的にスペース([Enter])が追加され、最後に入力されたコマンドが再実行されてしまいます。