commit:     41ffaf555975bb44a4f6bd8e406e55ef954bedcd
Author:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 18 19:29:01 2024 +0000
Commit:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Fri Oct 18 19:29:01 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=41ffaf55

app-misc/tmux: add fix for TERM=xterm

Triaged-by: Sam James <sam <AT> gentoo.org>
Closes: https://bugs.gentoo.org/941713
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>

 app-misc/tmux/files/tmux-3.5-fix-xterm-sym.patch   | 38 ++++++++++++++++++++++
 .../tmux/{tmux-3.5.ebuild => tmux-3.5-r1.ebuild}   |  1 +
 2 files changed, 39 insertions(+)

diff --git a/app-misc/tmux/files/tmux-3.5-fix-xterm-sym.patch 
b/app-misc/tmux/files/tmux-3.5-fix-xterm-sym.patch
new file mode 100644
index 000000000000..17d56664bcad
--- /dev/null
+++ b/app-misc/tmux/files/tmux-3.5-fix-xterm-sym.patch
@@ -0,0 +1,38 @@
+https://github.com/tmux/tmux/commit/934035db7197d4510b330df8d8963f78e9c8756d
+
+From: nicm <nicm>
+Date: Mon, 14 Oct 2024 20:26:45 +0000
+Subject: [PATCH] Set ACS flag for REP. Reported by Romain Francoise, GitHub
+ issue 4182.
+
+--- a/input.c
++++ b/input.c
+@@ -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);

diff --git a/app-misc/tmux/tmux-3.5.ebuild b/app-misc/tmux/tmux-3.5-r1.ebuild
similarity index 97%
rename from app-misc/tmux/tmux-3.5.ebuild
rename to app-misc/tmux/tmux-3.5-r1.ebuild
index 4678ac49407e..1be48e6b4f30 100644
--- a/app-misc/tmux/tmux-3.5.ebuild
+++ b/app-misc/tmux/tmux-3.5-r1.ebuild
@@ -54,6 +54,7 @@ DOCS=( CHANGES README )
 
 PATCHES=(
        "${FILESDIR}"/${PN}-2.4-flags.patch
+       "${FILESDIR}"/${P}-fix-xterm-sym.patch # merged upstream
 )
 
 src_prepare() {

Reply via email to