Acerca del uso de expresiones condicionales en las macros

Puede añadir expresiones condicionales a una macro utilizando un comando que introduzca expresiones de macro escritas en lenguaje DIESEL (Direct Interpretively Evaluated String Expression Language).

El formato es:

$M=expression

Si se introduce la macro mediante $M=, la aplicación evalúa una cadena como expresión DIESEL y reconoce dicha expresión como la expresión DIESEL. El ejemplo siguiente define una expresión condicional en una macro:

FILLMODE $M=$(-,1,$(getvar,fillmode))

La macro activa y desactiva la variable de sistema FILLMODE restando el valor actual de FILLMODE de 1 y devolviendo el valor resultante a FILLMODE. Puede usar este método para alternar las variables de sistema cuyos valores válidos son 1 o 0.

Finalización de macros que contienen expresiones condicionales

Si emplea el lenguaje DIESEL para realizar pruebas “if-then”, puede haber situaciones en las que no desee utilizar los espacios de finalización o signos de punto y coma (equivalentes a Intro) habituales. Si se añade ^Z al final de la macro, la aplicación no inserta automáticamente un espacio (Intro) al final de la expresión de macro.

Al igual que ocurre con otros caracteres de control de los comandos, la cadena ^Z que aquí se emplea está compuesta de ^ (una intercalación) y Z, y no equivale a pulsar Ctrl+Z (o Control-Z en Mac OS).

En los ejemplos siguientes, ^Z se usa como carácter de finalización de una macro.

^C^C$M=$(if,$(=,$(getvar,tilemode),0),$S=mview _mspace )^Z
^C^C$M=$(if,$(=,$(getvar,tilemode),0),$S=mview _pspace )^Z

Si estas macros no finalizan en ^Z, la aplicación añade automáticamente un espacio (Intro), repitiendo el último comando introducido.