diff options
Diffstat (limited to 'st.c')
| -rw-r--r-- | st.c | 14 |
1 files changed, 8 insertions, 6 deletions
| @@ -2335,19 +2335,19 @@ tcontrolcode(uchar ascii) { | |||
| 2335 | switch(ascii) { | 2335 | switch(ascii) { |
| 2336 | case '\t': /* HT */ | 2336 | case '\t': /* HT */ |
| 2337 | tputtab(1); | 2337 | tputtab(1); |
| 2338 | break; | 2338 | return; |
| 2339 | case '\b': /* BS */ | 2339 | case '\b': /* BS */ |
| 2340 | tmoveto(term.c.x-1, term.c.y); | 2340 | tmoveto(term.c.x-1, term.c.y); |
| 2341 | break; | 2341 | return; |
| 2342 | case '\r': /* CR */ | 2342 | case '\r': /* CR */ |
| 2343 | tmoveto(0, term.c.y); | 2343 | tmoveto(0, term.c.y); |
| 2344 | break; | 2344 | return; |
| 2345 | case '\f': /* LF */ | 2345 | case '\f': /* LF */ |
| 2346 | case '\v': /* VT */ | 2346 | case '\v': /* VT */ |
| 2347 | case '\n': /* LF */ | 2347 | case '\n': /* LF */ |
| 2348 | /* go to first col if the mode is set */ | 2348 | /* go to first col if the mode is set */ |
| 2349 | tnewline(IS_SET(MODE_CRLF)); | 2349 | tnewline(IS_SET(MODE_CRLF)); |
| 2350 | break; | 2350 | return; |
| 2351 | case '\a': /* BEL */ | 2351 | case '\a': /* BEL */ |
| 2352 | if(term.esc & ESC_STR_END) { | 2352 | if(term.esc & ESC_STR_END) { |
| 2353 | /* backwards compatibility to xterm */ | 2353 | /* backwards compatibility to xterm */ |
| @@ -2366,10 +2366,10 @@ tcontrolcode(uchar ascii) { | |||
| 2366 | return; | 2366 | return; |
| 2367 | case '\016': /* SO */ | 2367 | case '\016': /* SO */ |
| 2368 | term.charset = 0; | 2368 | term.charset = 0; |
| 2369 | break; | 2369 | return; |
| 2370 | case '\017': /* SI */ | 2370 | case '\017': /* SI */ |
| 2371 | term.charset = 1; | 2371 | term.charset = 1; |
| 2372 | break; | 2372 | return; |
| 2373 | case '\032': /* SUB */ | 2373 | case '\032': /* SUB */ |
| 2374 | tsetchar(question, &term.c.attr, term.c.x, term.c.y); | 2374 | tsetchar(question, &term.c.attr, term.c.x, term.c.y); |
| 2375 | case '\030': /* CAN */ | 2375 | case '\030': /* CAN */ |
| @@ -2380,6 +2380,7 @@ tcontrolcode(uchar ascii) { | |||
| 2380 | case '\021': /* XON (IGNORED) */ | 2380 | case '\021': /* XON (IGNORED) */ |
| 2381 | case '\023': /* XOFF (IGNORED) */ | 2381 | case '\023': /* XOFF (IGNORED) */ |
| 2382 | case 0177: /* DEL (IGNORED) */ | 2382 | case 0177: /* DEL (IGNORED) */ |
| 2383 | return; | ||
| 2383 | case 0x84: /* TODO: IND */ | 2384 | case 0x84: /* TODO: IND */ |
| 2384 | case 0x85: /* TODO: NEL */ | 2385 | case 0x85: /* TODO: NEL */ |
| 2385 | case 0x88: /* TODO: HTS */ | 2386 | case 0x88: /* TODO: HTS */ |
| @@ -2396,6 +2397,7 @@ tcontrolcode(uchar ascii) { | |||
| 2396 | case 0x9f: /* TODO: APC */ | 2397 | case 0x9f: /* TODO: APC */ |
| 2397 | break; | 2398 | break; |
| 2398 | } | 2399 | } |
| 2400 | /* only CAN, SUB, \a and C1 chars interrupt a sequence */ | ||
| 2399 | term.esc &= ~(ESC_STR_END|ESC_STR); | 2401 | term.esc &= ~(ESC_STR_END|ESC_STR); |
| 2400 | return; | 2402 | return; |
| 2401 | } | 2403 | } |
