aboutsummaryrefslogtreecommitdiff
path: root/st.c
diff options
context:
space:
mode:
authorAurélien Aptel <aurelien.aptel@gmail.com>2010-10-31 20:29:22 +0100
committerAurélien Aptel <aurelien.aptel@gmail.com>2010-10-31 20:29:22 +0100
commit4569bab9c2fd59c93263a23caf71442d4b0934a4 (patch)
treeef53bb466b195775160fde1b6299a897075e1db4 /st.c
parentea4d528fb9b148ba63bc5034d649c11110fd71a1 (diff)
downloadst-4569bab9c2fd59c93263a23caf71442d4b0934a4.tar.gz
st-4569bab9c2fd59c93263a23caf71442d4b0934a4.tar.bz2
fixed ED.
Diffstat (limited to 'st.c')
-rw-r--r--st.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/st.c b/st.c
index ed8e2a8..76a2016 100644
--- a/st.c
+++ b/st.c
@@ -883,10 +883,14 @@ csihandle(void) {
case 'J': /* ED -- Clear screen */
switch(escseq.arg[0]) {
case 0: /* below */
- tclearregion(term.c.x, term.c.y, term.col-1, term.row-1);
+ tclearregion(term.c.x, term.c.y, term.col-1, term.c.y);
+ if(term.c.y < term.row-1)
+ tclearregion(0, term.c.y+1, term.col-1, term.row-1);
break;
case 1: /* above */
- tclearregion(0, 0, term.c.x, term.c.y);
+ if(term.c.y > 1)
+ tclearregion(0, 0, term.col-1, term.c.y-1);
+ tclearregion(0, term.c.y, term.c.x, term.c.y);
break;
case 2: /* all */
tclearregion(0, 0, term.col-1, term.row-1);