=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/grid.c,v retrieving revision 1.115 retrieving revision 1.116 diff -c -r1.115 -r1.116 *** src/usr.bin/tmux/grid.c 2020/06/02 20:10:23 1.115 --- src/usr.bin/tmux/grid.c 2020/06/02 20:51:46 1.116 *************** *** 1,4 **** ! /* $OpenBSD: grid.c,v 1.115 2020/06/02 20:10:23 nicm Exp $ */ /* * Copyright (c) 2008 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: grid.c,v 1.116 2020/06/02 20:51:46 nicm Exp $ */ /* * Copyright (c) 2008 Nicholas Marriott *************** *** 40,47 **** { { ' ' }, 0, 1, 1 }, 0, 0, 8, 8, 0 }; /* Cleared grid cell data. */ ! const struct grid_cell grid_cleared_cell = { { { ' ' }, 0, 1, 1 }, 0, GRID_FLAG_CLEARED, 8, 8, 0 }; static const struct grid_cell_entry grid_cleared_entry = { --- 40,55 ---- { { ' ' }, 0, 1, 1 }, 0, 0, 8, 8, 0 }; + /* + * Padding grid cell data. Padding cells are the only zero width cell that + * appears in the grid - because of this, they are always extended cells. + */ + static const struct grid_cell grid_padding_cell = { + { { '!' }, 0, 0, 0 }, 0, GRID_FLAG_PADDING, 8, 8, 0 + }; + /* Cleared grid cell data. */ ! static const struct grid_cell grid_cleared_cell = { { { ' ' }, 0, 1, 1 }, 0, GRID_FLAG_CLEARED, 8, 8, 0 }; static const struct grid_cell_entry grid_cleared_entry = { *************** *** 524,530 **** grid_get_cell1(&gd->linedata[py], px, gc); } ! /* Set cell at relative position. */ void grid_set_cell(struct grid *gd, u_int px, u_int py, const struct grid_cell *gc) { --- 532,538 ---- grid_get_cell1(&gd->linedata[py], px, gc); } ! /* Set cell at position. */ void grid_set_cell(struct grid *gd, u_int px, u_int py, const struct grid_cell *gc) { *************** *** 547,553 **** grid_store_cell(gce, gc, gc->data.data[0]); } ! /* Set cells at relative position. */ void grid_set_cells(struct grid *gd, u_int px, u_int py, const struct grid_cell *gc, const char *s, size_t slen) --- 555,568 ---- grid_store_cell(gce, gc, gc->data.data[0]); } ! /* Set padding at position. */ ! void ! grid_set_padding(struct grid *gd, u_int px, u_int py) ! { ! grid_set_cell(gd, px, py, &grid_padding_cell); ! } ! ! /* Set cells at position. */ void grid_set_cells(struct grid *gd, u_int px, u_int py, const struct grid_cell *gc, const char *s, size_t slen)