From 6d7aba3ea07b9a7a584dcb027fa8f0f26c5c4fd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Tue, 14 Jul 2020 17:03:20 +0200 Subject: [PATCH] term: print: linewrap + insert *before* inserting SPACERS Otherwise we end up overwriting the character in the last column --- terminal.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/terminal.c b/terminal.c index 2a232de3..e9bb0812 100644 --- a/terminal.c +++ b/terminal.c @@ -2393,6 +2393,9 @@ term_print(struct terminal *term, wchar_t wc, int width) if (unlikely(width <= 0)) return; + print_linewrap(term); + print_insert(term, width); + if (unlikely(width > 1) && term->grid->cursor.point.col + width > term->cols) { @@ -2406,11 +2409,9 @@ term_print(struct terminal *term, wchar_t wc, int width) /* And force a line-wrap */ term->grid->cursor.lcf = 1; + print_linewrap(term); } - print_linewrap(term); - print_insert(term, width); - sixel_overwrite_at_cursor(term, width); /* *Must* get current cell *after* linewrap+insert */