term: rows printed to now defaults to having a hard linebreak

That is, instead of requiring a ‘\n’ to be printed, non-empty lines
are now treated as having a hard linebreak by default.

The linebreak is cleared on an explicit wrap.
This commit is contained in:
Daniel Eklöf 2021-07-02 16:31:46 +02:00
parent d101325885
commit 07652d3b9e
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
2 changed files with 8 additions and 2 deletions

View file

@ -31,6 +31,11 @@
## Unreleased
### Added
### Changed
* Non-empty lines are now considered to have a hard linebreak,
_unless_ an actual word-wrap is inserted.
### Deprecated
### Removed
### Fixed

View file

@ -2756,6 +2756,7 @@ print_linewrap(struct terminal *term)
return;
}
term->grid->cur_row->linebreak = false;
term->grid->cursor.lcf = false;
const int row = term->grid->cursor.point.row;
@ -2848,7 +2849,7 @@ term_print(struct terminal *term, wchar_t wc, int width)
cell->attrs = term->vt.attrs;
row->dirty = true;
row->linebreak = false;
row->linebreak = true;
/* Advance cursor the 'additional' columns while dirty:ing the cells */
for (int i = 1; i < width && term->grid->cursor.point.col < term->cols - 1; i++) {
@ -2887,7 +2888,7 @@ ascii_printer_fast(struct terminal *term, wchar_t wc)
cell->attrs = term->vt.attrs;
row->dirty = true;
row->linebreak = false;
row->linebreak = true;
/* Advance cursor */
if (unlikely(++term->grid->cursor.point.col >= term->cols)) {