The following code operates correctly in all cases but warns about
"unbalanced .el request" if either the first or second condition is true
(with -w all).
The warnings do not happen if the "else" statements are wrapped in \{\
... \} but is this supposed to be necessary? The conditionals all seem
to actually work correctly, in spite of the warnings. Are the warnings
a bug?
-Jim
#!/bin/sh
groff -w all >/dev/null <<'EOF'
.de mymac
. tm1 "--- mymac called with '\\$1' ---
. ie '\\$1'a' .tm1 " CASE a
. el .ie '\\$1'b' .tm1 " CASE b
. el .ie '\\$1'c' .tm1 " CASE c
. el .tm1 " Got something else (\\$1)
..
.mymac a
.mymac b
.mymac c
.mymac d
EOF