NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: xsrc/60398 (Line drawing in xterm does not work as expected)
The following reply was made to PR xsrc/60398; it has been noted by GNATS.
From: mlelstv%serpens.de@localhost (Michael van Elst)
To: gnats-bugs%netbsd.org@localhost
Cc:
Subject: Re: xsrc/60398 (Line drawing in xterm does not work as expected)
Date: Sat, 4 Jul 2026 06:17:21 -0000 (UTC)
gnats-admin%NetBSD.org@localhost ("Michael van Elst via gnats") writes:
>The following reply was made to PR xsrc/60398; it has been noted by GNATS.
>From: mlelstv%serpens.de@localhost (Michael van Elst)
>To: gnats-bugs%netbsd.org@localhost
>Cc:
>Subject: Re: xsrc/60398 (Line drawing in xterm does not work as expected)
>Date: Fri, 3 Jul 2026 22:52:15 -0000 (UTC)
> gnats-admin%NetBSD.org@localhost ("Valery Ushakov via gnats") writes:
>
> > https://xterm.dev/changelog-xterm/#xterm_407
> > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1124802
>
>
> Yes,
>
> | improve switching to/from UTF-8 mode by saving, restoring and resetting the G0-G3 array (Debian #1124802).
>
> that's it.
>
Here is a point fix with only that change:
Index: external/mit/xterm/dist/ptydata.c
===================================================================
RCS file: /cvsroot/xsrc/external/mit/xterm/dist/ptydata.c,v
retrieving revision 1.1.1.12
diff -p -u -r1.1.1.12 ptydata.c
--- external/mit/xterm/dist/ptydata.c 9 Mar 2025 23:17:11 -0000 1.1.1.12
+++ external/mit/xterm/dist/ptydata.c 4 Jul 2026 06:13:12 -0000
@@ -345,6 +345,12 @@ switchPtyData(TScreen *screen, int flag)
mk_wcwidth_init(screen->utf8_mode);
TRACE(("turning UTF-8 mode %s\n", BtoS(flag)));
+ if (flag) {
+ saveCharsets(screen, screen->ansi_save_gsets);
+ resetCharsets(screen);
+ } else {
+ restoreCharsets(screen, screen->ansi_save_gsets);
+ }
update_font_utf8_mode();
}
}
@@ -654,6 +660,25 @@ Panic(const char *s, int a)
}
#if OPT_WIDE_CHARS
+void
+saveCharsets(TScreen *screen, DECNRCM_codes * target)
+{
+ (void) screen;
+ (void) target;
+}
+
+void
+restoreCharsets(TScreen *screen, const DECNRCM_codes * target)
+{
+ (void) screen;
+ (void) target;
+}
+
+void
+resetCharsets(TScreen *screen)
+{
+ (void) screen;
+}
#ifdef ALLOWLOGGING
void
Index: external/mit/xterm/dist/ptyx.h
===================================================================
RCS file: /cvsroot/xsrc/external/mit/xterm/dist/ptyx.h,v
retrieving revision 1.22
diff -p -u -r1.22 ptyx.h
--- external/mit/xterm/dist/ptyx.h 9 Mar 2025 23:18:48 -0000 1.22
+++ external/mit/xterm/dist/ptyx.h 4 Jul 2026 06:13:12 -0000
@@ -2917,6 +2917,9 @@ typedef struct {
Char vt52_save_curss;
DECNRCM_codes vt52_save_gsets[NUM_GSETS2];
#endif
+#if OPT_WIDE_CHARS
+ DECNRCM_codes ansi_save_gsets[NUM_GSETS2];
+#endif
/* Testing */
#if OPT_XMC_GLITCH
unsigned xmc_glitch; /* # of spaces to pad on SGR's */
Home |
Main Index |
Thread Index |
Old Index