diff options
Diffstat (limited to 'Src/text.c')
-rw-r--r-- | Src/text.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/Src/text.c b/Src/text.c index 73b409e02..ddb4b8a2a 100644 --- a/Src/text.c +++ b/Src/text.c @@ -274,8 +274,9 @@ gettext2(Estate state) break; case WC_SUBLIST: if (!s) { - if (wc_code(*state->pc) != WC_PIPE) - stack = 1; + if (!(WC_SUBLIST_FLAGS(code) & WC_SUBLIST_SIMPLE) && + wc_code(*state->pc) != WC_PIPE) + stack = -1; if (WC_SUBLIST_FLAGS(code) & WC_SUBLIST_NOT) taddstr(stack ? "!" : "! "); if (WC_SUBLIST_FLAGS(code) & WC_SUBLIST_COPROC) @@ -293,7 +294,7 @@ gettext2(Estate state) taddstr("coproc "); } } - if (!stack && (WC_SUBLIST_FLAGS(s->code) & WC_SUBLIST_SIMPLE)) + if (stack < 1 && (WC_SUBLIST_FLAGS(s->code) & WC_SUBLIST_SIMPLE)) state->pc++; break; case WC_PIPE: |