Also clears ESC_START on interrupt characters during sequences.
authorColona <colona@ycc.fr>
Wed, 7 May 2014 08:05:27 +0000 (10:05 +0200)
committerRoberto E. Vargas Caballero <k0ga@shike2.com>
Fri, 9 May 2014 06:26:37 +0000 (08:26 +0200)
Otherwise, the rest of the input is interpreted as a new escape
sequence.
For the ESC character, ESC_START is re-set in tcontrolcode.

st.c

diff --git a/st.c b/st.c
index fe44608..baab589 100644 (file)
--- a/st.c
+++ b/st.c
@@ -2446,7 +2446,7 @@ tputc(char *c, int len) {
                   (ascii == '\a' || ascii == 030 ||
                    ascii == 032  || ascii == 033 ||
                    ISCONTROLC1(unicodep))) {
-                       term.esc &= ~ESC_STR;
+                       term.esc &= ~(ESC_START|ESC_STR);
                        term.esc |= ESC_STR_END;
                } else if(strescseq.len + len < sizeof(strescseq.buf) - 1) {
                        memmove(&strescseq.buf[strescseq.len], c, len);