summaryrefslogtreecommitdiffstats
path: root/tty.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicm@openbsd.org>2012-03-17 17:36:03 +0000
committerNicholas Marriott <nicm@openbsd.org>2012-03-17 17:36:03 +0000
commit0489213b1bf6a3fc7e158951ba993f4b88f48557 (patch)
treea5d6eaeebed60ff889713bf7c48151ba6c7a8b25 /tty.c
parentc8c0d681285938a0f8f6aaa34f85ca50c5494f1d (diff)
Revert screen-write.c r1.54 and fix the bug properly. After wrapping a
line in a pane, the cursor needs to move to the next line unless it scrolled.
Diffstat (limited to 'tty.c')
-rw-r--r--tty.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/tty.c b/tty.c
index bf5eac09..c7e603c1 100644
--- a/tty.c
+++ b/tty.c
@@ -1000,7 +1000,10 @@ tty_cmd_cell(struct tty *tty, const struct tty_ctx *ctx)
* The pane doesn't fill the entire line, the linefeed
* will already have happened, so just move the cursor.
*/
- tty_cursor_pane(tty, ctx, 0, ctx->ocy + 1);
+ if (ctx->ocy != wp->yoff + wp->sy)
+ tty_cursor_pane(tty, ctx, 0, ctx->ocy + 1);
+ else
+ tty_cursor_pane(tty, ctx, 0, ctx->ocy);
} else if (tty->cx < tty->sx) {
/*
* The cursor isn't in the last position already, so