term: tweak linebreaking

Don't set linebreak on linefeed. Instead, rely on the default value of
true, and that it is only cleared when a character is printed while
LCF=1.

Note that printing to a row that has linebreak cleared, will set the
linebreak flag again.
This commit is contained in:
Daniel Eklöf 2025-02-28 08:11:50 +01:00
parent ccf625b991
commit a80b32d006
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
2 changed files with 6 additions and 1 deletions

View file

@ -93,8 +93,14 @@
based.
* Rename Tokyo Night Day theme to Tokyo Night Light and update colors.
* fcft >= 3.2.0 is now required.
* Linefeed:ing control characters (e.g. `\n`) no longer **clears** a
row's internal linebreak flag. This fixes an issue where
e.g. multi-line prompt input in fish is treated as separate lines,
rather than one logical, when selecting and copying it
([#1487][1487]).
[1925]: https://codeberg.org/dnkl/foot/issues/1925
[1487]: https://codeberg.org/dnkl/foot/issues/1487
### Deprecated

View file

@ -3191,7 +3191,6 @@ term_carriage_return(struct terminal *term)
void
term_linefeed(struct terminal *term)
{
term->grid->cur_row->linebreak = true;
term->grid->cursor.lcf = false;
if (term->grid->cursor.point.row == term->scroll_region.end - 1)