From 81a7d98f2ff8f1491d98ff873e1ae54195212520 Mon Sep 17 00:00:00 2001 From: Boris Faure Date: Sat, 23 Nov 2013 19:29:31 +0100 Subject: [PATCH] fix handling of DCH. Closes T537 As characters are deleted, the remaining characters between the cursor and right margin move to the left. Character attributes move with the characters. The terminal adds blank spaces with no visual character attributes at the right margin. DCH has no effect outside the scrolling margins. --- src/bin/termptyesc.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/bin/termptyesc.c b/src/bin/termptyesc.c index ff66d2cb..a71d0e77 100644 --- a/src/bin/termptyesc.c +++ b/src/bin/termptyesc.c @@ -552,7 +552,17 @@ _handle_esc_csi(Termpty *ty, const Eina_Unicode *c, Eina_Unicode *ce) if (x < lim) termpty_cell_copy(ty, &(cells[x + arg]), &(cells[x]), 1); else - termpty_cell_fill(ty, NULL, &(cells[x]), 1); + { + cells[x].codepoint = ' '; + cells[x].att.underline = 0; + cells[x].att.blink = 0; + cells[x].att.blink2 = 0; + cells[x].att.inverse = 0; + cells[x].att.strike = 0; +#if defined(SUPPORT_DBLWIDTH) + cells[x].att.dblwidth = 0; +#endif + } } } break;