Você pode utilizar expressões condicionais em uma macro ao usar um comando que introduz expressões de macro gravadas em DIESEL (Direct Interpretively Evaluated String Expression Language).
O formato é:
$M=expression
Iniciando a macro com $M= avisa o aplicativo para avaliar uma sequência como uma expressão DIESEL e que essa expressão é uma expressão DIESEL. O exemplo a seguir define uma expressão condicional em uma macro:
FILLMODE $M=$(-,1,$(getvar,fillmode))
A macro alterna a variável de sistema FILLMODE em ativada e desativada, subtraindo o atual valor de FILLMODE de 1 e retornando o valor resultante à variável de sistema FILLMODE. Você pode utilizar este método para alternar as variáveis de sistemas das quais os valores válidos são 1 ou 0.
Se você utilizar uma linguagem de sequência de caracteres DIESEL para executar testes "if-then", podem ocorrer situações com espaço de terminação e ponto-e-vírgula indesejados (resultando em Enter). Se você adicionar ^Z ao final da macro, o aplicativo não adiciona um espaço automaticamente (Enter) ao final da expressão da macro.
Como acontece com outros caracteres de controle nos comandos, o ^Z utilizado aqui é uma sequência de caracteres composta de ^ (um acento circunflexo) e Z e não é equivalente a pressionar Ctrl+Z (ou Control-Z no Mac OS).
Nos exemplos a seguir, ^Z é utilizado como um terminador de macro.
^C^C$M=$(if,$(=,$(getvar,tilemode),0),$S=mview _mspace )^Z ^C^C$M=$(if,$(=,$(getvar,tilemode),0),$S=mview _pspace )^Z
Se essas macros não terminassem com ^Z, o aplicativo adicionaria automaticamente um espaço (Enter), repetindo o último comando inserido.