From 47dff978341e4954acc393b881be4b796b53bbea Mon Sep 17 00:00:00 2001 From: nicm Date: Thu, 3 Apr 2025 11:51:27 +0000 Subject: [PATCH 1/2] Use backing grid for word in copy mode for wrapped flags, from someone in GitHub issue 4447. --- window-copy.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/window-copy.c b/window-copy.c index 1dd12e45..809c2402 100644 --- a/window-copy.c +++ b/window-copy.c @@ -869,9 +869,9 @@ window_copy_get_word(struct window_pane *wp, u_int x, u_int y) { struct window_mode_entry *wme = TAILQ_FIRST(&wp->modes); struct window_copy_mode_data *data = wme->data; - struct grid *gd = data->screen.grid; + struct grid *gd = data->backing->grid; - return (format_grid_word(gd, x, gd->hsize + y)); + return (format_grid_word(gd, x, gd->hsize + y - data->oy)); } char * From a7991dcbadd2a0de7e7f9fe6ebfcbfc22567e531 Mon Sep 17 00:00:00 2001 From: nicm Date: Thu, 3 Apr 2025 11:52:25 +0000 Subject: [PATCH 2/2] Fix padding for word function as well, GitHub issue 4425. --- format.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/format.c b/format.c index a454a031..330f95ce 100644 --- a/format.c +++ b/format.c @@ -5339,9 +5339,8 @@ format_grid_word(struct grid *gd, u_int x, u_int y) for (;;) { grid_get_cell(gd, x, y, &gc); - if (gc.flags & GRID_FLAG_PADDING) - break; - if (format_is_word_separator(ws, &gc)) { + if ((~gc.flags & GRID_FLAG_PADDING) && + format_is_word_separator(ws, &gc)) { found = 1; break; } @@ -5377,7 +5376,7 @@ format_grid_word(struct grid *gd, u_int x, u_int y) grid_get_cell(gd, x, y, &gc); if (gc.flags & GRID_FLAG_PADDING) - break; + continue; if (format_is_word_separator(ws, &gc)) break;