From 9cc02d1498fec2f4234575fd7cc38f3eb68cfd0e Mon Sep 17 00:00:00 2001 From: nicm Date: Wed, 8 Feb 2017 08:50:10 +0000 Subject: Trying to avoid the occasional newline by saving the last cell on screen is not actually helping us much and just adds complexity, so don't bother. --- tty.c | 39 +-------------------------------------- 1 file changed, 1 insertion(+), 38 deletions(-) (limited to 'tty.c') diff --git a/tty.c b/tty.c index e40e1081..1ae81c4b 100644 --- a/tty.c +++ b/tty.c @@ -998,17 +998,6 @@ tty_cmd_linefeed(struct tty *tty, const struct tty_ctx *ctx) return; } - /* - * If this line wrapped naturally (ctx->num is nonzero) and we are not - * using margins, don't do anything - the cursor can just be moved - * to the last cell and wrap naturally. - */ - if ((!tty_use_margin(tty) || - tty_pane_full_width(tty, ctx)) && - ctx->num != 0 && - !(tty->term->flags & TERM_EARLYWRAP)) - return; - tty_attributes(tty, &grid_default_cell, wp); tty_region_pane(tty, ctx, ctx->orupper, ctx->orlower); @@ -1164,8 +1153,6 @@ void tty_cmd_cell(struct tty *tty, const struct tty_ctx *ctx) { struct window_pane *wp = ctx->wp; - struct screen *s = wp->screen; - u_int cx, width; if (ctx->xoff + ctx->ocx > tty->sx - 1 && ctx->ocy == ctx->orlower) { if (tty_pane_full_width(tty, ctx)) @@ -1174,31 +1161,7 @@ tty_cmd_cell(struct tty *tty, const struct tty_ctx *ctx) tty_margin_off(tty); } - /* Is the cursor in the very last position? */ - width = ctx->cell->data.width; - if (ctx->ocx > wp->sx - width) { - if (!tty_pane_full_width(tty, ctx)) { - /* - * The pane doesn't fill the entire line, the linefeed - * will already have happened, so just move the cursor. - */ - if (ctx->ocy != wp->yoff + wp->screen->rlower) - tty_cursor_pane(tty, ctx, 0, ctx->ocy + 1); - else - tty_cursor_pane(tty, ctx, 0, ctx->ocy); - } else if (tty->cy != ctx->yoff + ctx->ocy || - tty->cx < tty->sx) { - /* - * The cursor isn't in the last position already, so - * move as far right as possible and redraw the last - * cell to move into the last position. - */ - cx = screen_size_x(s) - ctx->last_cell.data.width; - tty_cursor_pane(tty, ctx, cx, ctx->ocy); - tty_cell(tty, &ctx->last_cell, wp); - } - } else - tty_cursor_pane(tty, ctx, ctx->ocx, ctx->ocy); + tty_cursor_pane(tty, ctx, ctx->ocx, ctx->ocy); tty_cell(tty, ctx->cell, wp); } -- cgit