diff options
author | Nicholas Marriott <nicm@openbsd.org> | 2013-03-27 11:19:19 +0000 |
---|---|---|
committer | Nicholas Marriott <nicm@openbsd.org> | 2013-03-27 11:19:19 +0000 |
commit | 5e4d9a3197a229ecb30d51f5b7e6756ef31dc1d2 (patch) | |
tree | 458a4620de229c47cef16caf637f9f9d78a874bf /screen-write.c | |
parent | 982354765bc6f0bfb225d7c1f96e5b73f9880533 (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.c | 4 |
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; |