=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/tty.c,v retrieving revision 1.395 retrieving revision 1.396 diff -u -r1.395 -r1.396 --- src/usr.bin/tmux/tty.c 2021/08/06 03:13:05 1.395 +++ src/usr.bin/tmux/tty.c 2021/08/06 03:29:15 1.396 @@ -1,4 +1,4 @@ -/* $OpenBSD: tty.c,v 1.395 2021/08/06 03:13:05 nicm Exp $ */ +/* $OpenBSD: tty.c,v 1.396 2021/08/06 03:29:15 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -1348,8 +1348,8 @@ const struct grid_cell *gcp; struct grid_line *gl; struct client *c = tty->client; - u_int i, j, ux, sx, width; - int flags, cleared = 0, wrapped = 0, hidden; + u_int i, j, ux, sx, width, hidden; + int flags, cleared = 0, wrapped = 0; char buf[512]; size_t len; u_int cellsize; @@ -1452,12 +1452,13 @@ hidden = 0; for (j = 0; j < gcp->data.width; j++) { - if (!tty_check_overlay(tty, atx + ux + j, aty)) { - hidden = 1; - break; - } + if (!tty_check_overlay(tty, atx + ux + j, aty)) + hidden++; } - if (hidden || ux + gcp->data.width > nx) { + if (hidden != 0 && hidden == gcp->data.width) { + if (~gcp->flags & GRID_FLAG_PADDING) + ux += gcp->data.width; + } else if (hidden != 0 || ux + gcp->data.width > nx) { if (~gcp->flags & GRID_FLAG_PADDING) { tty_attributes(tty, &last, defaults, palette); tty_cursor(tty, atx + ux, aty);