Backported fix from ckdaily snapshot to fix parsing of if/else constructs See #323510. --- ckermit-211.orig/ckuus6.c +++ ckermit-211/ckuus6.c @@ -6607,7 +6607,7 @@ if (!iftest[cmdlvl]) { /* If IF was false do ELSE part */ if (maclvl > -1 || tlevel > -1) { /* In macro or command file */ debug(F100,"doelse pushing","",0); -#ifdef COMMENT +#ifndef COMMENT pushcmd(NULL); /* save rest of command. */ #else /* This fixes certain obscure problems */ --- ckermit-211.orig/ckuusr.c +++ ckermit-211/ckuusr.c @@ -7983,8 +7983,7 @@ line[k++] = SP; line[k] = NUL; debug(F111,"XXMACRO A",line,k); - /* Defer evaluation of variables until the commands are exec'd */ - if ((y = cmtxt("Braced list of commands","",&s,NULL)) < 0) + if ((y = cmtxt("Braced list of commands","",&s,xxstring)) < 0) return(y); k = ckstrncpy(line+k,s,LINBUFSIZ-k); debug(F111,"XXMACRO B",line,k);