Feltételes kifejezéseket is adhat a makrókhoz egy parancs használatával, amely a DIESEL (Direct Interpretively Evaluated String Expression Language) nyelven írt makrókifejezéseket vezeti be.
Ennek formátuma:
$M=expression
A fenti kifejezésben a $M= azt jelzi az alkalmazásnak, hogy a karakterláncot DIESEL-kifejezésként kell kiértékelni, a kifejezés pedig a DIESEL nyelvű kifejezés. A következő példa egy feltételes kifejezést definiál egy makróban:
FILLMODE $M=$(-,1,$(getvar,fillmode))
A makró be- és kikapcsolja a FILLMODE rendszerváltozót oly módon, hogy kivonja a FILLMODE aktuális értékét 1-ből, és az eredményt a FILLMODE rendszerváltozónak adja értékül. Ezt a módszert olyan rendszerváltozók átkapcsolására használhatja, amelyek érvényes értékei az 1 és a 0.
Ha a DIESEL karakterláncnyelvet használja a „ha-akkor” vizsgálatok végrehajtására, akkor feltételek szerepelhetnek ott, ahol nem szeretné a normál megszakító szóközt vagy pontosvesszőt (amely Enter-t eredményez). Ha beírja a ^Z karakterláncot a makró végére, akkor az alkalmazás automatikusan nem ad hozzá szóközt (Enter) a makrókifejezés végéhez.
Akárcsak más vezérlőkarakterek esetén a parancsokban, az itt használt ^Z karakterlánc a ^ (kalap) és Z karakterből áll, és nem egyenértékű a Ctrl+Z (vagy Mac OS rendszeren a Control-Z) billentyűkombináció lenyomásával.
A következő példákban a ^Z kód zárja le a makrót.
^C^C$M=$(if,$(=,$(getvar,tilemode),0),$S=mview _mspace )^Z ^C^C$M=$(if,$(=,$(getvar,tilemode),0),$S=mview _pspace )^Z
Ha ezek a makrók nem végződnének a ^Z karakterlánccal, akkor az alkalmazás automatikusan hozzájuk adna egy-egy szóközt (Enter), amely megismételné a legutóbb bevitt parancsot.