vt: tag cells that were form-feed:ed, to allow correct text reflow

To handle text reflow correctly when a line has a printable character
in the last column, but was still line breaked, we need to track the
fact that the slave inserted a line break here.

Otherwise, when the window width is increased, we'll end up pulling up
the next line, when we really should have inserted a line break.
This commit is contained in:
Daniel Eklöf 2020-02-10 21:52:14 +01:00
parent 3004c650ef
commit 4a169f5643
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
4 changed files with 17 additions and 4 deletions

4
vt.c
View file

@ -128,7 +128,7 @@ action_execute(struct terminal *term, uint8_t c)
case '\r':
/* FF - form feed */
term_cursor_left(term, term->cursor.point.col);
term_formfeed(term);
break;
case '\b':
@ -361,8 +361,8 @@ action_esc_dispatch(struct terminal *term, uint8_t final)
break;
case 'E':
term_formfeed(term);
term_linefeed(term);
term_cursor_left(term, term->cursor.point.col);
break;
case 'H':