From aaa8edad2140fa7b4632c2cf44b3b4906b4c5e69 Mon Sep 17 00:00:00 2001 From: nicm Date: Mon, 14 Oct 2024 20:26:45 +0000 Subject: [PATCH] Set ACS flag for REP. Reported by Romain Francoise, GitHub issue 4182. --- usr.bin/tmux/input.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/usr.bin/tmux/input.c b/usr.bin/tmux/input.c index f1aa4f8aef5..76a401fdd5c 100644 --- a/usr.bin/tmux/input.c +++ b/usr.bin/tmux/input.c @@ -1,4 +1,4 @@ -/* $OpenBSD: input.c,v 1.229 2024/09/16 20:38:48 nicm Exp $ */ +/* $OpenBSD: input.c,v 1.230 2024/10/14 20:26:45 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -1145,7 +1145,6 @@ input_print(struct input_ctx *ictx) ictx->cell.cell.attr |= GRID_ATTR_CHARSET; else ictx->cell.cell.attr &= ~GRID_ATTR_CHARSET; - utf8_set(&ictx->cell.cell.data, ictx->ch); screen_write_collect_add(sctx, &ictx->cell.cell); @@ -1349,7 +1348,7 @@ input_csi_dispatch(struct input_ctx *ictx) struct screen_write_ctx *sctx = &ictx->ctx; struct screen *s = sctx->s; struct input_table_entry *entry; - int i, n, m, ek; + int i, n, m, ek, set; u_int cx, bg = ictx->cell.cell.bg; if (ictx->flags & INPUT_DISCARD) @@ -1592,6 +1591,11 @@ input_csi_dispatch(struct input_ctx *ictx) if (~ictx->flags & INPUT_LAST) break; + set = ictx->cell.set == 0 ? ictx->cell.g0set : ictx->cell.g1set; + if (set == 1) + ictx->cell.cell.attr |= GRID_ATTR_CHARSET; + else + ictx->cell.cell.attr &= ~GRID_ATTR_CHARSET; utf8_copy(&ictx->cell.cell.data, &ictx->last); for (i = 0; i < n; i++) screen_write_collect_add(sctx, &ictx->cell.cell); -- 2.20.1