ifstate_push
ifstate_push(&lp->current, val);
ifstate_push(&lp->current, macro_isdefined(line));
ifstate_push(&lp->current, !macro_isdefined(line));