aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColona <colona@ycc.fr>2014-05-07 10:05:27 +0200
committerRoberto E. Vargas Caballero <k0ga@shike2.com>2014-05-09 08:26:37 +0200
commit5e917ab2874de556de12ce43e9a97300c9c722a2 (patch)
tree5155ee519d3bfdbe8dcb66b338f27af22ff9bf3c
parent99fb365aa30e6d9f8fa035f4d2adbc3145fafb00 (diff)
downloadst-5e917ab2874de556de12ce43e9a97300c9c722a2.tar.gz
st-5e917ab2874de556de12ce43e9a97300c9c722a2.zip
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.
-rw-r--r--st.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/st.c b/st.c
index fe44608..baab589 100644
--- a/st.c
+++ b/st.c
@@ -2446,7 +2446,7 @@ tputc(char *c, int len) {
2446 (ascii == '\a' || ascii == 030 || 2446 (ascii == '\a' || ascii == 030 ||
2447 ascii == 032 || ascii == 033 || 2447 ascii == 032 || ascii == 033 ||
2448 ISCONTROLC1(unicodep))) { 2448 ISCONTROLC1(unicodep))) {
2449 term.esc &= ~ESC_STR; 2449 term.esc &= ~(ESC_START|ESC_STR);
2450 term.esc |= ESC_STR_END; 2450 term.esc |= ESC_STR_END;
2451 } else if(strescseq.len + len < sizeof(strescseq.buf) - 1) { 2451 } else if(strescseq.len + len < sizeof(strescseq.buf) - 1) {
2452 memmove(&strescseq.buf[strescseq.len], c, len); 2452 memmove(&strescseq.buf[strescseq.len], c, len);