summaryrefslogtreecommitdiffstats
path: root/screen-write.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicm@openbsd.org>2013-03-27 11:19:19 +0000
committerNicholas Marriott <nicm@openbsd.org>2013-03-27 11:19:19 +0000
commit5e4d9a3197a229ecb30d51f5b7e6756ef31dc1d2 (patch)
tree458a4620de229c47cef16caf637f9f9d78a874bf /screen-write.c
parent982354765bc6f0bfb225d7c1f96e5b73f9880533 (diff)
Move the cursor back into the last column on CUU/CUD to match xterm
behaviour. From George Nachman.
Diffstat (limited to 'screen-write.c')
-rw-r--r--screen-write.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/screen-write.c b/screen-write.c
index 348065c6..c0935c95 100644
--- a/screen-write.c
+++ b/screen-write.c
@@ -488,6 +488,8 @@ screen_write_cursorup(struct screen_write_ctx *ctx, u_int ny)
if (ny > s->cy - s->rupper)
ny = s->cy - s->rupper;
}
+ if (s->cx == screen_size_x(s))
+ s->cx--;
if (ny == 0)
return;
@@ -512,6 +514,8 @@ screen_write_cursordown(struct screen_write_ctx *ctx, u_int ny)
if (ny > s->rlower - s->cy)
ny = s->rlower - s->cy;
}
+ if (s->cx == screen_size_x(s))
+ s->cx--;
if (ny == 0)
return;