summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Faure <billiob@gmail.com>2013-11-23 19:29:31 +0100
committerBoris Faure <billiob@gmail.com>2013-11-23 19:31:49 +0100
commit81a7d98f2ff8f1491d98ff873e1ae54195212520 (patch)
treea425a540b0ed2eed1a789191cce1a1e0e72f8a7b
parent11db9a1117e23e7087daa94b794d812f8c678b4d (diff)
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.
-rw-r--r--src/bin/termptyesc.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/bin/termptyesc.c b/src/bin/termptyesc.c
index ff66d2c..a71d0e7 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)
552 if (x < lim) 552 if (x < lim)
553 termpty_cell_copy(ty, &(cells[x + arg]), &(cells[x]), 1); 553 termpty_cell_copy(ty, &(cells[x + arg]), &(cells[x]), 1);
554 else 554 else
555 termpty_cell_fill(ty, NULL, &(cells[x]), 1); 555 {
556 cells[x].codepoint = ' ';
557 cells[x].att.underline = 0;
558 cells[x].att.blink = 0;
559 cells[x].att.blink2 = 0;
560 cells[x].att.inverse = 0;
561 cells[x].att.strike = 0;
562#if defined(SUPPORT_DBLWIDTH)
563 cells[x].att.dblwidth = 0;
564#endif
565 }
556 } 566 }
557 } 567 }
558 break; 568 break;