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