Vous pouvez utiliser une commande qui introduit des expressions de macro en langage DIESEL pour ajouter des expressions conditionnelles dans une macro.
Le format est le suivant :
$M=expression
Le fait d'introduire la macro avec $M= indique à l'application d'évaluer une chaîne en tant qu'expression DIESEL et que expression correspond à l'expression DIESEL. L'exemple suivant définit une expression conditionnelle dans une macro :
FILLMODE $M=$(-,1,$(getvar,fillmode))
La macro active et désactive la variable système FILLMODE en soustrayant la valeur courante FILLMODE de 1 et en renvoyant la valeur résultante vers la variable système FILLMODE. Vous pouvez utiliser cette méthode pour activer et désactiver les variables système dont les valeurs valables sont 1 ou 0.
Si vous utilisez le langage d'expression de chaîne DIESEL pour effectuer des tests de type "si-alors", vous aurez parfois besoin de ne pas recourir à l'espace ou au point-virgule de fin habituel (qui génère la commande Entrée). Si vous ajoutez ^Z à la fin de la macro, l'application ne place pas automatiquement un espace (Entrée) à la fin de l'expression de macro.
Comme pour les autres caractères de contrôle des commandes, le caractère ^Z utilisé ici est une chaîne composée du signe caret (^) et de la lettre Z, et n'est pas équivalent à la combinaison de touches CTRL+Z (ou Contrôle-Z sur Mac OS).
Dans les exemples qui suivent, ^Z sert de caractère de fin aux macros.
^C^C$M=$(if,$(=,$(getvar,tilemode),0),$S=mview _mspace )^Z ^C^C$M=$(if,$(=,$(getvar,tilemode),0),$S=mview _pspace )^Z
Si ces macros de menu ne finissaient pas par ^Z, l'application ajouterait automatiquement un espace (Entrée) et répéterait ainsi la dernière commande entrée.