Also clears ESC_START on interrupt characters during sequences.

Otherwise, the rest of the input is interpreted as a new escape
sequence.
For the ESC character, ESC_START is re-set in tcontrolcode.
This commit is contained in:
Colona 2014-05-07 10:05:27 +02:00 committed by Roberto E. Vargas Caballero
parent 99fb365aa3
commit 5e917ab287

2
st.c
View file

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