diff --git a/CHANGELOG.md b/CHANGELOG.md index 1d18d1f3..904730d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -96,8 +96,10 @@ (https://codeberg.org/dnkl/foot/issues/35). * `C0::VT` to be processed as `C0::LF`. Previously, `C0::VT` would only move the cursor down, but never scroll. -* HT (_Horizontal Tab_, or `\t`) no longer clears `LCF` (_Last Column - Flag_). +* `HT` (_Horizontal Tab_, or `\t`) no longer clears `LCF` (_Last + Column Flag_). +* `LF` now always clears `LCF`. Previously, it only cleared it when + the cursor was **not** at the bottom of the scrolling region. ### Security diff --git a/terminal.c b/terminal.c index e02255bc..4ed34f63 100644 --- a/terminal.c +++ b/terminal.c @@ -1887,6 +1887,8 @@ 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) term_scroll(term, 1); else