Условные выражения можно добавлять в макрос путем использования команды, содержащей макровыражения на языке DIESEL.
Для этого используется формат:
$M=expression
При использовании в начале макроса $M= приложение интерпретирует строку как выражение DIESEL, а выражение – как выражение DIESEL. В следующем примере приведено определение условного выражения в макросе:
FILLMODE $M=$(-,1,$(getvar,fillmode))
Макрос переключает состояние переменной FILLMODE. Для этого текущее значение FILLMODE вычитается из 1, а полученное значение затем возвращается в переменную FILLMODE. Можно использовать этот метод, чтобы переключать системные переменные, допустимыми значениями для которых являются 1 или 0.
Если для выполнения проверок "если-то" используется строка на языке DIESEL, условия могут возникать в тех случаях, когда нельзя использовать обычные, прерывающие работу пробел или точку с запятой (в результате нажатия Enter). Если в конец макроса добавлены символы ^Z, приложение не будет автоматически добавлять пробел (ВВОД) в конец выражения.
Как и другие управляющие символы, используемый здесь символ ^Z является строкой, состоящей из знака вставки ^ и буквы Z. Этот символ не является эквивалентом комбинации клавиш CTRL+Z (или Control-Z в Mac OS).
В следующих примерах символ ^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) для повтора последней введенной команды.