Sie können einem Makro bedingte Ausdrücke hinzufügen. Verwenden Sie hierfür einen Befehl, der in DIESEL (Direct Interpretively Evaluated String Expression Language) geschriebene Makroausdrücke einführt.
Format:
$M=expression
Durch Einleitung eines Makros mit $M= erkennt die Anwendung eine Zeichenfolge als DIESEL-Ausdruck. Dieser Ausdruck ist somit ein DIESEL-Ausdruck. Im folgenden Beispiel wird einen bedingungsabhängigen Ausdruck in einem Makro definiert:
FILLMODE $M=$(-,1,$(getvar,fillmode))
Das Makro schaltet die Systemvariable FILLMODE ein bzw. aus, indem der aktuelle Wert von FILLMODE von 1 subtrahiert und der resultierende Wert an die Systemvariable FILLMODE zurückgegeben wird. Mit dieser Methode können Sie Systemvariablen umschalten, die nur die Werte 1 und 0 annehmen können.
Wenn Sie die Makroprogrammiersprache DIESEL für „if-then“-Tests verwenden, sollten ggf. nicht alle Bedingungen mit dem abschließenden Leerzeichen bzw. Semikolon beendet werden (welche das Drücken der EINGABETASTE auslösen). Fügen Sie zu diesem Zweck am Ende des Makros ^Z hinzu. Auf diese Weise fügt die Anwendung nicht automatisch ein Leerzeichen (EINGABETASTE) am Ende des Makroausdrucks hinzu.
Das hier verwendete ^Z ist wie andere Steuerzeichen in Befehlen eine Zeichenfolge, die sich aus ^ (einem Caret) und Z zusammensetzt und nicht der Tastenkombination Strg+Z (oder Control-Z unter Mac OS) entspricht.
In den folgenden Beispielen wird ^Z als Abschlusszeichen für das Makro verwendet.
^C^C$M=$(if,$(=,$(getvar,tilemode),0),$S=mview _mspace )^Z ^C^C$M=$(if,$(=,$(getvar,tilemode),0),$S=mview _pspace )^Z
Würden diese Makros nicht mit ^Z enden, würde die Anwendung automatisch ein Leerzeichen (EINGABETASTE) hinzufügen und den zuletzt eingegebenen Befehl wiederholen.