mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-12 04:27:51 -05:00
csi: el/ed/dch/ich/ech: reset 'print_needs_wrap' (lcf)
This makes the result of 'wraptest', by Mattias Engdegård, match the behavior of 'DEC' (the architectural behavior of DEC terminals).
This commit is contained in:
parent
81215e5a72
commit
f74026ba9b
1 changed files with 9 additions and 0 deletions
9
csi.c
9
csi.c
|
|
@ -413,11 +413,13 @@ csi_dispatch(struct terminal *term, uint8_t final)
|
|||
term,
|
||||
&term->cursor,
|
||||
&(struct coord){term->cols - 1, term->rows - 1});
|
||||
term->print_needs_wrap = false;
|
||||
break;
|
||||
|
||||
case 1:
|
||||
/* From start of screen to cursor */
|
||||
term_erase(term, &(struct coord){0, 0}, &term->cursor);
|
||||
term->print_needs_wrap = false;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
|
|
@ -426,6 +428,7 @@ csi_dispatch(struct terminal *term, uint8_t final)
|
|||
term,
|
||||
&(struct coord){0, 0},
|
||||
&(struct coord){term->cols - 1, term->rows - 1});
|
||||
term->print_needs_wrap = false;
|
||||
break;
|
||||
|
||||
case 3: {
|
||||
|
|
@ -468,12 +471,14 @@ csi_dispatch(struct terminal *term, uint8_t final)
|
|||
term,
|
||||
&term->cursor,
|
||||
&(struct coord){term->cols - 1, term->cursor.row});
|
||||
term->print_needs_wrap = false;
|
||||
break;
|
||||
|
||||
case 1:
|
||||
/* From start of line to cursor */
|
||||
term_erase(
|
||||
term, &(struct coord){0, term->cursor.row}, &term->cursor);
|
||||
term->print_needs_wrap = false;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
|
|
@ -482,6 +487,7 @@ csi_dispatch(struct terminal *term, uint8_t final)
|
|||
term,
|
||||
&(struct coord){0, term->cursor.row},
|
||||
&(struct coord){term->cols - 1, term->cursor.row});
|
||||
term->print_needs_wrap = false;
|
||||
break;
|
||||
|
||||
default:
|
||||
|
|
@ -552,6 +558,7 @@ csi_dispatch(struct terminal *term, uint8_t final)
|
|||
term,
|
||||
&(struct coord){term->cursor.col + remaining, term->cursor.row},
|
||||
&(struct coord){term->cols - 1, term->cursor.row});
|
||||
term->print_needs_wrap = false;
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -578,6 +585,7 @@ csi_dispatch(struct terminal *term, uint8_t final)
|
|||
term,
|
||||
&term->cursor,
|
||||
&(struct coord){term->cursor.col + count - 1, term->cursor.row});
|
||||
term->print_needs_wrap = false;
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -598,6 +606,7 @@ csi_dispatch(struct terminal *term, uint8_t final)
|
|||
term,
|
||||
&term->cursor,
|
||||
&(struct coord){term->cursor.col + count - 1, term->cursor.row});
|
||||
term->print_needs_wrap = false;
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue