| tEnd a sequence only on CAN, SUB, \a and C1s. - st - [fork] customized build of… | |
| git clone git://src.adamsgaard.dk/st | |
| Log | |
| Files | |
| Refs | |
| README | |
| LICENSE | |
| --- | |
| commit e31829f659a818e438bf2fe45708abb2983f8765 | |
| parent 5e917ab2874de556de12ce43e9a97300c9c722a2 | |
| Author: Colona <[email protected]> | |
| Date: Fri, 9 May 2014 10:23:53 +0200 | |
| End a sequence only on CAN, SUB, \a and C1s. | |
| Diffstat: | |
| M st.c | 14 ++++++++------ | |
| 1 file changed, 8 insertions(+), 6 deletions(-) | |
| --- | |
| diff --git a/st.c b/st.c | |
| t@@ -2335,19 +2335,19 @@ tcontrolcode(uchar ascii) { | |
| switch(ascii) { | |
| case '\t': /* HT */ | |
| tputtab(1); | |
| - break; | |
| + return; | |
| case '\b': /* BS */ | |
| tmoveto(term.c.x-1, term.c.y); | |
| - break; | |
| + return; | |
| case '\r': /* CR */ | |
| tmoveto(0, term.c.y); | |
| - break; | |
| + return; | |
| case '\f': /* LF */ | |
| case '\v': /* VT */ | |
| case '\n': /* LF */ | |
| /* go to first col if the mode is set */ | |
| tnewline(IS_SET(MODE_CRLF)); | |
| - break; | |
| + return; | |
| case '\a': /* BEL */ | |
| if(term.esc & ESC_STR_END) { | |
| /* backwards compatibility to xterm */ | |
| t@@ -2366,10 +2366,10 @@ tcontrolcode(uchar ascii) { | |
| return; | |
| case '\016': /* SO */ | |
| term.charset = 0; | |
| - break; | |
| + return; | |
| case '\017': /* SI */ | |
| term.charset = 1; | |
| - break; | |
| + return; | |
| case '\032': /* SUB */ | |
| tsetchar(question, &term.c.attr, term.c.x, term.c.y); | |
| case '\030': /* CAN */ | |
| t@@ -2380,6 +2380,7 @@ tcontrolcode(uchar ascii) { | |
| case '\021': /* XON (IGNORED) */ | |
| case '\023': /* XOFF (IGNORED) */ | |
| case 0177: /* DEL (IGNORED) */ | |
| + return; | |
| case 0x84: /* TODO: IND */ | |
| case 0x85: /* TODO: NEL */ | |
| case 0x88: /* TODO: HTS */ | |
| t@@ -2396,6 +2397,7 @@ tcontrolcode(uchar ascii) { | |
| case 0x9f: /* TODO: APC */ | |
| break; | |
| } | |
| + /* only CAN, SUB, \a and C1 chars interrupt a sequence */ | |
| term.esc &= ~(ESC_STR_END|ESC_STR); | |
| return; | |
| } |