From 69a633221f12293bf11a6ac4b1783a77f5d91620 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Wed, 12 Feb 2020 18:06:27 +0100 Subject: [PATCH] term: formfeed: set linefeed correctly when we're at last column with lcf=1 When cursor.lcf is set, that means the cursor column was *not* incremented when we printed the last character. Thus, we should *not* decrement the column before setting the linefeed bit. --- terminal.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/terminal.c b/terminal.c index 852d7fa4..cb52a416 100644 --- a/terminal.c +++ b/terminal.c @@ -1498,8 +1498,11 @@ term_scroll_reverse(struct terminal *term, int rows) void term_formfeed(struct terminal *term) { - if (term->cursor.point.col > 0) - term->grid->cur_row->cells[term->cursor.point.col - 1].attrs.linefeed = 1; + int col = term->cursor.point.col; + if (!term->cursor.lcf) + col--; + if (col >= 0) + term->grid->cur_row->cells[col].attrs.linefeed = 1; term_cursor_left(term, term->cursor.point.col); }