Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package xterm for openSUSE:Factory checked 
in at 2023-11-14 21:41:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xterm (Old)
 and      /work/SRC/openSUSE:Factory/.xterm.new.17445 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xterm"

Tue Nov 14 21:41:40 2023 rev:143 rq:1125581 version:388

Changes:
--------
--- /work/SRC/openSUSE:Factory/xterm/xterm.changes      2023-10-17 
20:22:44.726549992 +0200
+++ /work/SRC/openSUSE:Factory/.xterm.new.17445/xterm.changes   2023-11-14 
21:41:45.297782330 +0100
@@ -1,0 +2,11 @@
+Sun Nov 12 09:47:15 UTC 2023 - Dirk Müller <dmuel...@suse.com>
+
+- update to 388:
+  * improve disallowPasteControls by adding a category for the
+    special characters known to stty (prompted by discussion
+    with David Leadbeater).
+  * amend support of DECAUPSS, undoing change to initialization of
+    G2/G3 so that pasting of GR characters work properly
+  * update config.guess, config.sub
+
+-------------------------------------------------------------------

Old:
----
  xterm-387.tgz
  xterm-387.tgz.asc

New:
----
  xterm-388.tgz
  xterm-388.tgz.asc

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xterm.spec ++++++
--- /var/tmp/diff_new_pack.f0N4p0/_old  2023-11-14 21:41:46.297819348 +0100
+++ /var/tmp/diff_new_pack.f0N4p0/_new  2023-11-14 21:41:46.297819348 +0100
@@ -18,7 +18,7 @@
 
 %define splitbin 0%{?suse_version} >= 1300
 Name:           xterm
-Version:        387
+Version:        388
 Release:        0
 Summary:        The basic X terminal program
 License:        MIT




++++++ xterm-387.tgz -> xterm-388.tgz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xterm-387/MANIFEST new/xterm-388/MANIFEST
--- old/xterm-387/MANIFEST      2023-10-11 02:02:59.000000000 +0200
+++ new/xterm-388/MANIFEST      2023-10-20 22:43:09.000000000 +0200
@@ -1,4 +1,4 @@
-MANIFEST for xterm, version xterm-387
+MANIFEST for xterm, version xterm-388
 
--------------------------------------------------------------------------------
 MANIFEST                        this file
 256colres.h                     resource-definitions for 256-color mode
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xterm-387/NEWS new/xterm-388/NEWS
--- old/xterm-387/NEWS  2023-10-16 01:55:47.000000000 +0200
+++ new/xterm-388/NEWS  2023-10-23 00:27:20.000000000 +0200
@@ -1,10 +1,13 @@
 The NEWS file was generated from xterm.log.html, which serves as the changelog
 for xterm.
 
--------------------------------------------------------------------------------
-                            Patch #387 - 2023/10/15
+                            Patch #388 - 2023/10/22
 
-     * add DECRQUPSS and DECAUPSS.
-     * add DECRQDE (report by Jake Hamby).
-     * correct indexing expression in title-stack, from patch #385 changes
-       (report by Brian Lindholm).
+     * improve  disallowPasteControls by adding a category for the special
+       characters  known  to  stty  (prompted  by  discussion  with  David
+       Leadbeater).
+     * amend  support  of  DECAUPSS,  undoing  change to initialization of
+       G2/G3   so   that   pasting   of   GR   characters  works  properly
+       (report/analysis by Petri Kaukasoina).
+     * update config.guess, config.sub
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xterm-387/button.c new/xterm-388/button.c
--- old/xterm-387/button.c      2023-06-13 23:44:29.000000000 +0200
+++ new/xterm-388/button.c      2023-10-22 20:28:34.000000000 +0200
@@ -1,4 +1,4 @@
-/* $XTermId: button.c,v 1.655 2023/06/13 21:44:29 tom Exp $ */
+/* $XTermId: button.c,v 1.657 2023/10/22 18:28:34 tom Exp $ */
 
 /*
  * Copyright 1999-2022,2023 by Thomas E. Dickey
@@ -77,6 +77,7 @@
 #include <menu.h>
 #include <charclass.h>
 #include <xstrings.h>
+#include <xterm_io.h>
 
 #if OPT_SELECT_REGEX
 #if defined(HAVE_PCRE2POSIX_H)
@@ -2547,11 +2548,82 @@
        dst = strlen(value);
     } else {
        size_t src = 0;
+       Boolean *disallowed = screen->disallow_paste_ops;
+       TERMIO_STRUCT data;
+       char current_chars[epLAST];
+
+       if (disallowed[epSTTY] && ttyGetAttr(screen->respond, &data) == 0) {
+           int n;
+           int disabled = xtermDisabledChar();
+
+           TRACE(("disallow(STTY):"));
+           memcpy(current_chars, disallowed, sizeof(current_chars));
+
+           for (n = 0; n < NCCS; ++n) {
+               PasteControls nc = (data.c_cc[n] < 32
+                                   ? data.c_cc[n]
+                                   : (data.c_cc[n] == 127
+                                      ? epDEL
+                                      : epLAST));
+               if (nc == epNUL || nc == epLAST)
+                   continue;
+               if (CharOf(data.c_cc[n]) == CharOf(disabled))
+                   continue;
+               if ((n == VMIN || n == VTIME) && !(data.c_lflag & ICANON))
+                   continue;
+               switch (n) {
+               /* POSIX */
+               case VEOF:
+               case VEOL:
+               case VERASE:
+               case VINTR:
+               case VKILL:
+               case VQUIT:
+               case VSTART:
+               case VSTOP:
+               case VSUSP:
+               /* system-dependent */
+#ifdef VDISCARD
+               case VDISCARD:
+#endif
+#ifdef VDSUSP
+               case VDSUSP:
+#endif
+#ifdef VEOL2
+               case VEOL2:
+#endif
+#ifdef VLNEXT
+               case VLNEXT:
+#endif
+#ifdef VREPRINT
+               case VREPRINT:
+#endif
+#ifdef VSTATUS
+               case VSTATUS:
+#endif
+#ifdef VSWTC
+               case VSWTC:     /* System V SWTCH */
+#endif
+#ifdef VWERASE
+               case VWERASE:
+#endif
+                   break;
+               default:
+                   continue;
+               }
+               if (nc != epLAST) {
+                   TRACE((" \\%03o", data.c_cc[n]));
+                   current_chars[nc] = 1;
+               }
+           }
+           TRACE(("\n"));
+           disallowed = current_chars;
+       }
        while ((value[dst] = value[src]) != '\0') {
            int ch = CharOf(value[src++]);
 
 #define ReplacePaste(n) \
-           if (screen->disallow_paste_ops[n]) \
+           if (disallowed[n]) \
                value[dst] = ' '
 
            if (ch < 32) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xterm-387/charproc.c new/xterm-388/charproc.c
--- old/xterm-387/charproc.c    2023-10-14 16:27:43.000000000 +0200
+++ new/xterm-388/charproc.c    2023-10-22 12:26:53.000000000 +0200
@@ -1,4 +1,4 @@
-/* $XTermId: charproc.c,v 1.1979 2023/10/14 14:27:43 tom Exp $ */
+/* $XTermId: charproc.c,v 1.1981 2023/10/22 10:26:53 tom Exp $ */
 
 /*
  * Copyright 1999-2022,2023 by Thomas E. Dickey
@@ -1257,10 +1257,15 @@
 
     TRACE(("resetCharsets\n"));
 
+    /*
+     * The assignments for G2/G3 to ASCII differ from the documented DEC
+     * terminal, because xterm also checks GR to decide whether or not to
+     * handle non-Unicode character sets, e.g., NRCS.
+     */
     initCharset(screen, 0, nrc_ASCII);
     initCharset(screen, 1, nrc_ASCII);
-    initCharset(screen, 2, dft_upss);
-    initCharset(screen, 3, dft_upss);
+    initCharset(screen, 2, nrc_ASCII);
+    initCharset(screen, 3, nrc_ASCII);
     initCharset(screen, 4, dft_upss);
 
     screen->curgl = 0;         /* G0 => GL.            */
@@ -9856,6 +9861,7 @@
     ,DATA2(NL, LF)
     ,DATA(C0)
     ,DATA(DEL)
+    ,DATA(STTY)
     ,DATA_END
 };
 #undef DATA
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xterm-387/config.guess new/xterm-388/config.guess
--- old/xterm-387/config.guess  2023-07-20 18:40:00.000000000 +0200
+++ new/xterm-388/config.guess  2023-08-22 10:00:00.000000000 +0200
@@ -4,7 +4,7 @@
 
 # shellcheck disable=SC2006,SC2268 # see below for rationale
 
-timestamp='2023-07-20'
+timestamp='2023-08-22'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -155,6 +155,9 @@
 
        set_cc_for_build
        cat <<-EOF > "$dummy.c"
+       #if defined(__ANDROID__)
+       LIBC=android
+       #else
        #include <features.h>
        #if defined(__UCLIBC__)
        LIBC=uclibc
@@ -169,6 +172,7 @@
        LIBC=musl
        #endif
        #endif
+       #endif
        EOF
        cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | 
sed 's, ,,g'`
        eval "$cc_set_libc"
@@ -904,7 +908,7 @@
        fi
        ;;
     *:FreeBSD:*:*)
-       UNAME_PROCESSOR=`/usr/bin/uname -p`
+       UNAME_PROCESSOR=`uname -p`
        case $UNAME_PROCESSOR in
            amd64)
                UNAME_PROCESSOR=x86_64 ;;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xterm-387/config.sub new/xterm-388/config.sub
--- old/xterm-387/config.sub    2023-07-31 12:00:55.000000000 +0200
+++ new/xterm-388/config.sub    2023-09-16 00:56:33.000000000 +0200
@@ -4,7 +4,7 @@
 
 # shellcheck disable=SC2006,SC2268 # see below for rationale
 
-timestamp='2023-07-31'
+timestamp='2023-09-15'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -1181,7 +1181,7 @@
                case $cpu in
                        1750a | 580 \
                        | a29k \
-                       | aarch64 | aarch64_be \
+                       | aarch64 | aarch64_be | aarch64c | arm64ec \
                        | abacus \
                        | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \
                        | alpha64 | alpha64ev[4-8] | alpha64ev56 | 
alpha64ev6[78] \
@@ -1200,6 +1200,7 @@
                        | d10v | d30v | dlx | dsp16xx \
                        | e2k | elxsi | epiphany \
                        | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \
+                       | javascript \
                        | h8300 | h8500 \
                        | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
                        | hexagon \
@@ -1284,11 +1285,12 @@
 
 # Decode manufacturer-specific aliases for certain operating systems.
 
-if test x$basic_os != x
+if test x"$basic_os" != x
 then
 
 # First recognize some ad-hoc cases, or perhaps split kernel-os, or else just
 # set os.
+obj=
 case $basic_os in
        gnu/linux*)
                kernel=linux
@@ -1488,10 +1490,16 @@
                        os=eabi
                        ;;
                    *)
-                       os=elf
+                       os=
+                       obj=elf
                        ;;
                esac
                ;;
+       aout* | coff* | elf* | pe*)
+               # These are machine code file formats, not OSes
+               obj=$os
+               os=
+               ;;
        *)
                # No normalization, but not necessarily accepted, that comes 
below.
                ;;
@@ -1510,12 +1518,15 @@
 # system, and we'll never get to this point.
 
 kernel=
+obj=
 case $cpu-$vendor in
        score-*)
-               os=elf
+               os=
+               obj=elf
                ;;
        spu-*)
-               os=elf
+               os=
+               obj=elf
                ;;
        *-acorn)
                os=riscix1.2
@@ -1525,28 +1536,35 @@
                os=gnu
                ;;
        arm*-semi)
-               os=aout
+               os=
+               obj=aout
                ;;
        c4x-* | tic4x-*)
-               os=coff
+               os=
+               obj=coff
                ;;
        c8051-*)
-               os=elf
+               os=
+               obj=elf
                ;;
        clipper-intergraph)
                os=clix
                ;;
        hexagon-*)
-               os=elf
+               os=
+               obj=elf
                ;;
        tic54x-*)
-               os=coff
+               os=
+               obj=coff
                ;;
        tic55x-*)
-               os=coff
+               os=
+               obj=coff
                ;;
        tic6x-*)
-               os=coff
+               os=
+               obj=coff
                ;;
        # This must come before the *-dec entry.
        pdp10-*)
@@ -1568,19 +1586,24 @@
                os=sunos3
                ;;
        m68*-cisco)
-               os=aout
+               os=
+               obj=aout
                ;;
        mep-*)
-               os=elf
+               os=
+               obj=elf
                ;;
        mips*-cisco)
-               os=elf
+               os=
+               obj=elf
                ;;
        mips*-*)
-               os=elf
+               os=
+               obj=elf
                ;;
        or32-*)
-               os=coff
+               os=
+               obj=coff
                ;;
        *-tti)  # must be before sparc entry or we get the wrong os.
                os=sysv3
@@ -1589,7 +1612,8 @@
                os=sunos4.1.1
                ;;
        pru-*)
-               os=elf
+               os=
+               obj=elf
                ;;
        *-be)
                os=beos
@@ -1670,10 +1694,12 @@
                os=uxpv
                ;;
        *-rom68k)
-               os=coff
+               os=
+               obj=coff
                ;;
        *-*bug)
-               os=coff
+               os=
+               obj=coff
                ;;
        *-apple)
                os=macos
@@ -1691,7 +1717,8 @@
 
 fi
 
-# Now, validate our (potentially fixed-up) OS.
+# Now, validate our (potentially fixed-up) individual pieces (OS, OBJ).
+
 case $os in
        # Sometimes we do "kernel-libc", so those need to count as OSes.
        musl* | newlib* | relibc* | uclibc*)
@@ -1702,6 +1729,9 @@
        # VxWorks passes extra cpu info in the 4th filed.
        simlinux | simwindows | spe)
                ;;
+       # See `case $cpu-$os` validation below
+       ghcjs)
+               ;;
        # Now accept the basic system types.
        # The portable systems comes first.
        # Each alternative MUST end in a * to match a version number.
@@ -1719,11 +1749,11 @@
             | mirbsd* | netbsd* | dicos* | openedition* | ose* \
             | bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* | os108* \
             | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \
-            | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
-            | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
+            | bosx* | nextstep* | cxux* | oabi* \
+            | ptx* | ecoff* | winnt* | domain* | vsta* \
             | udi* | lites* | ieee* | go32* | aux* | hcos* \
             | chorusrdb* | cegcc* | glidix* | serenity* \
-            | cygwin* | msys* | pe* | moss* | proelf* | rtems* \
+            | cygwin* | msys* | moss* | proelf* | rtems* \
             | midipix* | mingw32* | mingw64* | mint* \
             | uxpv* | beos* | mpeix* | udk* | moxiebox* \
             | interix* | uwin* | mks* | rhapsody* | darwin* \
@@ -1747,60 +1777,95 @@
        kernel* | msvc* )
                # Restricted further below
                ;;
+       '')
+               if test x"$obj" = x
+               then
+                       echo "Invalid configuration '$1': Blank OS only allowed 
with explicit machine code file format" 1>&2
+               fi
+               ;;
        *)
                echo "Invalid configuration '$1': OS '$os' not recognized" 1>&2
                exit 1
                ;;
 esac
 
+case $obj in
+       aout* | coff* | elf* | pe*)
+               ;;
+       '')
+               # empty is fine
+               ;;
+       *)
+               echo "Invalid configuration '$1': Machine code format '$obj' 
not recognized" 1>&2
+               exit 1
+               ;;
+esac
+
+# Here we handle the constraint that a (synthetic) cpu and os are
+# valid only in combination with each other and nowhere else.
+case $cpu-$os in
+       # The "javascript-unknown-ghcjs" triple is used by GHC; we
+       # accept it here in order to tolerate that, but reject any
+       # variations.
+       javascript-ghcjs)
+               ;;
+       javascript-* | *-ghcjs)
+               echo "Invalid configuration '$1': cpu '$cpu' is not valid with 
os '$os$obj'" 1>&2
+               exit 1
+               ;;
+esac
+
 # As a final step for OS-related things, validate the OS-kernel combination
 # (given a valid OS), if there is a kernel.
-case $kernel-$os in
-       linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \
-                  | linux-musl* | linux-relibc* | linux-uclibc* | linux-mlibc* 
)
+case $kernel-$os-$obj in
+       linux-gnu*- | linux-dietlibc*- | linux-android*- | linux-newlib*- \
+                  | linux-musl*- | linux-relibc*- | linux-uclibc*- | 
linux-mlibc*- )
                ;;
-       uclinux-uclibc* )
+       uclinux-uclibc*- )
                ;;
-       managarm-mlibc* | managarm-kernel* )
+       managarm-mlibc*- | managarm-kernel*- )
                ;;
-       windows*-gnu* | windows*-msvc*)
+       windows*-gnu*- | windows*-msvc*-)
                ;;
-       -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* | -mlibc* )
+       -dietlibc*- | -newlib*- | -musl*- | -relibc*- | -uclibc*- | -mlibc*- )
                # These are just libc implementations, not actual OSes, and thus
                # require a kernel.
                echo "Invalid configuration '$1': libc '$os' needs explicit 
kernel." 1>&2
                exit 1
                ;;
-       -kernel* )
+       -kernel*- )
                echo "Invalid configuration '$1': '$os' needs explicit kernel." 
1>&2
                exit 1
                ;;
-       *-kernel* )
+       *-kernel*- )
                echo "Invalid configuration '$1': '$kernel' does not support 
'$os'." 1>&2
                exit 1
                ;;
-       *-msvc* )
+       *-msvc*- )
                echo "Invalid configuration '$1': '$os' needs 'windows'." 1>&2
                exit 1
                ;;
-       kfreebsd*-gnu* | kopensolaris*-gnu*)
+       kfreebsd*-gnu*- | kopensolaris*-gnu*-)
                ;;
-       vxworks-simlinux | vxworks-simwindows | vxworks-spe)
+       vxworks-simlinux- | vxworks-simwindows- | vxworks-spe-)
                ;;
-       nto-qnx*)
+       nto-qnx*-)
                ;;
-       os2-emx)
+       os2-emx-)
                ;;
-       *-eabi* | *-gnueabi*)
+       *-eabi*- | *-gnueabi*-)
                ;;
-       none-coff* | none-elf*)
+       none--*)
                # None (no kernel, i.e. freestanding / bare metal),
-               # can be paired with an output format "OS"
+               # can be paired with an machine code file format
                ;;
-       -*)
+       -*-)
                # Blank kernel with real OS is always fine.
                ;;
-       *-*)
+       --*)
+               # Blank kernel and OS with real machine code file format is 
always fine.
+               ;;
+       *-*-*)
                echo "Invalid configuration '$1': Kernel '$kernel' not known to 
work with OS '$os'." 1>&2
                exit 1
                ;;
@@ -1884,7 +1949,7 @@
                ;;
 esac
 
-echo "$cpu-$vendor-${kernel:+$kernel-}$os"
+echo "$cpu-$vendor${kernel:+-$kernel}${os:+-$os}${obj:+-$obj}"
 exit
 
 # Local variables:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xterm-387/main.c new/xterm-388/main.c
--- old/xterm-387/main.c        2023-09-22 09:46:08.000000000 +0200
+++ new/xterm-388/main.c        2023-10-22 19:28:06.000000000 +0200
@@ -1,4 +1,4 @@
-/* $XTermId: main.c,v 1.907 2023/09/22 07:46:08 tom Exp $ */
+/* $XTermId: main.c,v 1.909 2023/10/22 17:28:06 tom Exp $ */
 
 /*
  * Copyright 2002-2022,2023 by Thomas E. Dickey
@@ -596,18 +596,6 @@
 #define CWERASE  CONTROL('W')
 #endif
 
-#ifdef USE_ANY_SYSV_TERMIO
-#define TERMIO_STRUCT struct termio
-#define ttySetAttr(fd, datap) ioctl(fd, TCSETA, datap)
-#define ttyGetAttr(fd, datap) ioctl(fd, TCGETA, datap)
-#define ttyFlush(fd)          ioctl(fd, TCFLSH, 1)
-#elif defined(USE_POSIX_TERMIOS)
-#define TERMIO_STRUCT struct termios
-#define ttySetAttr(fd, datap) tcsetattr(fd, TCSANOW, datap)
-#define ttyGetAttr(fd, datap) tcgetattr(fd, datap)
-#define ttyFlush(fd)          tcflush(fd, TCOFLUSH)
-#endif /* USE_ANY_SYSV_TERMIO */
-
 #ifndef VMS
 #ifdef TERMIO_STRUCT
 /* The following structures are initialized in main() in order
@@ -1421,14 +1409,37 @@
 { NULL, NULL }};
 /* *INDENT-ON* */
 
-static const char *const message[] =
+static const char *const help_message[] =
 {
     "Fonts should be fixed width and, if both normal and bold are specified, 
should",
     "have the same size.  If only a normal font is specified, it will be used 
for",
     "both normal and bold text (by doing overstriking).  The -e option, if 
given,",
     "must appear at the end of the command line, otherwise the user's default 
shell",
     "will be started.  Options that start with a plus sign (+) restore the 
default.",
-    NULL};
+    NULL
+};
+
+int
+xtermDisabledChar(void)
+{
+    int value = -1;
+#if defined(_POSIX_VDISABLE) && defined(HAVE_UNISTD_H)
+    value = _POSIX_VDISABLE;
+#endif
+#if defined(_PC_VDISABLE)
+    if (value == -1) {
+       value = (int) fpathconf(0, _PC_VDISABLE);
+       if (value == -1) {
+           if (errno == 0)
+               value = 0377;
+       }
+    }
+#elif defined(VDISABLE)
+    if (value == -1)
+       value = VDISABLE;
+#endif
+    return value;
+}
 
 /*
  * Decode a key-definition.  This combines the termcap and ttyModes, for
@@ -1449,23 +1460,7 @@
            break;
        case '-':
            if (!termcap) {
-               errno = 0;
-#if defined(_POSIX_VDISABLE) && defined(HAVE_UNISTD_H)
-               value = _POSIX_VDISABLE;
-#endif
-#if defined(_PC_VDISABLE)
-               if (value == -1) {
-                   value = (int) fpathconf(0, _PC_VDISABLE);
-                   if (value == -1) {
-                       if (errno != 0)
-                           break;      /* skip this (error) */
-                       value = 0377;
-                   }
-               }
-#elif defined(VDISABLE)
-               if (value == -1)
-                   value = VDISABLE;
-#endif
+               value = xtermDisabledChar();
                break;
            }
            /* FALLTHRU */
@@ -1750,7 +1745,7 @@
     }
 
     putchar('\n');
-    for (cpp = message; *cpp; cpp++)
+    for (cpp = help_message; *cpp; cpp++)
        puts(*cpp);
     putchar('\n');
     fflush(stdout);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xterm-387/main.h new/xterm-388/main.h
--- old/xterm-387/main.h        2023-10-08 23:18:54.000000000 +0200
+++ new/xterm-388/main.h        2023-10-22 12:34:12.000000000 +0200
@@ -1,4 +1,4 @@
-/* $XTermId: main.h,v 1.84 2023/10/08 21:18:54 tom Exp $ */
+/* $XTermId: main.h,v 1.85 2023/10/22 10:34:12 tom Exp $ */
 
 /*
  * Copyright 2000-2022,2023 by Thomas E. Dickey
@@ -132,7 +132,7 @@
 #endif
 
 #ifndef DEF_DISALLOWED_PASTE_CONTROLS
-#define DEF_DISALLOWED_PASTE_CONTROLS  "BS,DEL,ENQ,EOT,ESC,NUL"
+#define DEF_DISALLOWED_PASTE_CONTROLS  "BS,DEL,ENQ,EOT,ESC,NUL,STTY"
 #endif
 
 #ifndef DEF_DISALLOWED_TCAP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xterm-387/package/debian/changelog 
new/xterm-388/package/debian/changelog
--- old/xterm-387/package/debian/changelog      2023-10-11 02:02:59.000000000 
+0200
+++ new/xterm-388/package/debian/changelog      2023-10-20 22:43:09.000000000 
+0200
@@ -1,3 +1,9 @@
+xterm-dev (388) unstable; urgency=low
+
+  * maintenance updates
+
+ -- Thomas E. Dickey <dic...@invisible-island.net>  Fri, 20 Oct 2023 16:43:09 
-0400
+
 xterm-dev (387) unstable; urgency=low
 
   * maintenance updates
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xterm-387/package/freebsd/Makefile 
new/xterm-388/package/freebsd/Makefile
--- old/xterm-387/package/freebsd/Makefile      2023-10-11 02:02:59.000000000 
+0200
+++ new/xterm-388/package/freebsd/Makefile      2023-10-20 22:43:09.000000000 
+0200
@@ -1,4 +1,4 @@
-# $XTermId: Makefile,v 1.108 2023/10/11 00:02:59 tom Exp $
+# $XTermId: Makefile,v 1.109 2023/10/20 20:43:09 tom Exp $
 # $FreeBSD: head/x11/xterm/Makefile 492827 2019-02-13 06:43:36Z ehaupt $
 
 # This is adapted from the FreeBSD port, installing as "xterm-dev" with
@@ -7,7 +7,7 @@
 # and "make makesum".
 
 PORTNAME=      xterm
-PORTVERSION=   387
+PORTVERSION=   388
 CATEGORIES=    x11
 MASTER_SITES=  ftp://ftp.invisible-island.net/xterm/:src1 \
                https://invisible-mirror.net/archives/xterm/:src1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xterm-387/package/pkgsrc/Makefile 
new/xterm-388/package/pkgsrc/Makefile
--- old/xterm-387/package/pkgsrc/Makefile       2023-10-11 02:02:59.000000000 
+0200
+++ new/xterm-388/package/pkgsrc/Makefile       2023-10-20 22:43:09.000000000 
+0200
@@ -1,6 +1,6 @@
 # $NetBSD: Makefile,v 1.117 2018/03/12 11:18:00 wiz Exp $
 
-DISTNAME=      xterm-387
+DISTNAME=      xterm-388
 PKGREVISION=   1
 CATEGORIES=    x11
 MASTER_SITES=  ftp://ftp.invisible-island.net/xterm/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xterm-387/package/xterm.spec 
new/xterm-388/package/xterm.spec
--- old/xterm-387/package/xterm.spec    2023-10-11 02:02:59.000000000 +0200
+++ new/xterm-388/package/xterm.spec    2023-10-20 22:43:09.000000000 +0200
@@ -1,11 +1,11 @@
-# $XTermId: xterm.spec,v 1.166 2023/10/11 00:02:59 tom Exp $
+# $XTermId: xterm.spec,v 1.167 2023/10/20 20:43:09 tom Exp $
 Summary: X terminal emulator (development version)
 %global my_middle xterm
 %global my_suffix -dev
 %global fullname %{my_middle}%{my_suffix}
 %global my_class XTermDev
 Name: %{fullname}
-Version: 387
+Version: 388
 Release: 1
 License: X11
 Group: User Interface/X
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xterm-387/ptyx.h new/xterm-388/ptyx.h
--- old/xterm-387/ptyx.h        2023-10-14 02:07:30.000000000 +0200
+++ new/xterm-388/ptyx.h        2023-10-22 12:26:34.000000000 +0200
@@ -1,4 +1,4 @@
-/* $XTermId: ptyx.h,v 1.1102 2023/10/14 00:07:30 tom Exp $ */
+/* $XTermId: ptyx.h,v 1.1103 2023/10/22 10:26:34 tom Exp $ */
 
 /*
  * Copyright 1999-2022,2023 by Thomas E. Dickey
@@ -1313,6 +1313,7 @@
     /* aliases */
     , DATA(C0)
     , DATA(DEL)
+    , DATA(STTY)
 #undef DATA
     , epLAST
 } PasteControls;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xterm-387/version.h new/xterm-388/version.h
--- old/xterm-387/version.h     2023-10-16 01:54:54.000000000 +0200
+++ new/xterm-388/version.h     2023-10-23 00:26:29.000000000 +0200
@@ -1,4 +1,4 @@
-/* $XTermId: version.h,v 1.553 2023/10/15 23:54:54 tom Exp $ */
+/* $XTermId: version.h,v 1.555 2023/10/22 22:26:29 tom Exp $ */
 
 /*
  * Copyright 1998-2022,2023 by Thomas E. Dickey
@@ -38,8 +38,8 @@
  * version of X to which this version of xterm has been built.  The resulting
  * number in parentheses is my patch number (Thomas E. Dickey).
  */
-#define XTERM_PATCH   387
-#define XTERM_DATE    2023-10-15
+#define XTERM_PATCH   388
+#define XTERM_DATE    2023-10-22
 
 #ifndef __vendorversion__
 #define __vendorversion__ "XTerm"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xterm-387/xterm.appdata.xml 
new/xterm-388/xterm.appdata.xml
--- old/xterm-387/xterm.appdata.xml     2023-10-16 01:56:16.000000000 +0200
+++ new/xterm-388/xterm.appdata.xml     2023-10-23 00:26:38.000000000 +0200
@@ -35,7 +35,7 @@
     <keyword>terminal</keyword>
   </keywords>
   <releases>
-    <release version="387" date="2023-10-15"/>
+    <release version="388" date="2023-10-22"/>
   </releases>
   <url type="homepage">https://invisible-island.net/xterm/</url>
   <update_contact>dic...@invisible-island.net</update_contact>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xterm-387/xterm.h new/xterm-388/xterm.h
--- old/xterm-387/xterm.h       2023-10-08 23:02:00.000000000 +0200
+++ new/xterm-388/xterm.h       2023-10-22 19:26:44.000000000 +0200
@@ -1,4 +1,4 @@
-/* $XTermId: xterm.h,v 1.937 2023/10/08 21:02:00 tom Exp $ */
+/* $XTermId: xterm.h,v 1.938 2023/10/22 17:26:44 tom Exp $ */
 
 /*
  * Copyright 1999-2022,2023 by Thomas E. Dickey
@@ -1246,6 +1246,7 @@
 #define ENVP_ARG /**/
 
 extern int main (int  /* argc */, char ** /* argv */ ENVP_ARG);
+extern int xtermDisabledChar(void);
 extern int GetBytesAvailable (Display *  /* dpy */);
 extern int kill_process_group (int  /* pid */, int  /* sig */);
 extern int nonblocking_wait (void);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xterm-387/xterm.log.html new/xterm-388/xterm.log.html
--- old/xterm-387/xterm.log.html        2023-10-16 01:55:47.000000000 +0200
+++ new/xterm-388/xterm.log.html        2023-10-23 00:27:20.000000000 +0200
@@ -30,7 +30,7 @@
  * sale, use or other dealings in this Software without prior written        *
  * authorization.                                                            *
  *****************************************************************************
-  $XTermId: xterm.log.html,v 1.2561 2023/10/15 23:55:47 tom Exp $
+  $XTermId: xterm.log.html,v 1.2566 2023/10/22 22:27:20 tom Exp $
   -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <html>
@@ -70,6 +70,8 @@
   CHANGELOG</a>).</p>
 
   <ul>
+    <li><a href="#xterm_388">Patch #388 - 2023/10/22</a></li>
+
     <li><a href="#xterm_387">Patch #387 - 2023/10/15</a></li>
 
     <li><a href="#xterm_386">Patch #386 - 2023/10/09</a></li>
@@ -1052,6 +1054,21 @@
     <li><a href="#xterm_01">Patch #1 - 1996/1/6</a></li>
   </ul>
 
+  <h1><a name="xterm_388" id="xterm_388">Patch #388 -
+  2023/10/22</a></h1>
+
+  <ul>
+    <li>improve <tt>disallowPasteControls</tt> by adding a category
+    for the special characters known to <tt>stty</tt> (prompted by
+    discussion with David Leadbeater).</li>
+
+    <li>amend support of <tt>DECAUPSS</tt>, undoing change to
+    initialization of G2/G3 so that pasting of GR characters works
+    properly (report/analysis by Petri Kaukasoina).</li>
+
+    <li>update config.guess, config.sub</li>
+  </ul>
+
   <h1><a name="xterm_387" id="xterm_387">Patch #387 -
   2023/10/15</a></h1>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xterm-387/xterm.man new/xterm-388/xterm.man
--- old/xterm-387/xterm.man     2023-10-09 01:28:21.000000000 +0200
+++ new/xterm-388/xterm.man     2023-10-23 00:19:25.000000000 +0200
@@ -1,5 +1,5 @@
 '\" t
-.\" $XTermId: xterm.man,v 1.896 2023/10/08 23:28:21 tom Exp $
+.\" $XTermId: xterm.man,v 1.897 2023/10/22 22:19:25 tom Exp $
 .\"
 .\" Copyright 1996-2022,2023 by Thomas E. Dickey
 .\"
@@ -572,7 +572,7 @@
 .TP 8
 .B \-cu
 This option indicates that \fI\*n\fP should work around a bug in the
-.IR more (1)
+.BR more (1)
 program that causes it
 to incorrectly display lines that are exactly the width of the window and
 are followed by a line beginning with a tab
@@ -584,7 +584,7 @@
 .TP 8
 .B +cu
 This option indicates that \fI\*n\fP should not work around the
-.IR more (1)
+.BR more (1)
 bug mentioned above.
 .TP 8
 .B "\-dc"
@@ -759,7 +759,7 @@
 .TP 8
 .B \-ie
 Turn on the \fBptyInitialErase\fP resource, i.e.,
-use the pseudo-terminal's sense of the \fIstty\fP erase value.
+use the pseudo-terminal's sense of the \fBstty\fP(1) erase value.
 .TP 8
 .B +ie
 Turn off the \fBptyInitialErase\fP resource, i.e.,
@@ -1239,8 +1239,8 @@
 .TP 8
 .BI \-tm " string"
 This option specifies a series of terminal setting keywords followed by the
-characters that should be bound to those functions, similar to the \fIstty\fP
-program.
+characters that should be bound to those functions,
+similar to the \fBstty\fP(1) program.
 The keywords and their values are described in detail in the \fBttyModes\fP
 resource.
 .TP 8
@@ -1939,7 +1939,7 @@
 .B ptyHandshake\fP (class\fB PtyHandshake\fP)
 If \*(``true\*('', \fI\*n\fP will perform handshaking during initialization
 to ensure that the parent and child processes update the \fI__utmp_name__\fP
-and \fIstty\fP state.
+and \fBstty\fP(1) state.
 .IP
 See also \fBwaitForMap\fP which waits for the pseudo-terminal's notion
 of the screen size,
@@ -2150,7 +2150,7 @@
 an X resource escapes the next character.
 .IP
 This is very useful for overriding
-the default terminal settings without having to run \fIstty\fP every time
+the default terminal settings without having to run \fBstty\fP(1) every time
 an \fI\*n\fP is started.
 Note, however, that the \fIstty\fP program on a given host may use different
 keywords; \fI\*n\fR's table is built in.
@@ -3251,7 +3251,7 @@
 \fI\*N\fP ignores capitalization.
 The default value is
 .NS
-BS,DEL,ENQ,EOT,ESC,NUL
+BS,DEL,ENQ,EOT,ESC,NUL,STTY
 .NE
 .IP
 The names are listed below:
@@ -3270,6 +3270,9 @@
 .TP 5
 NL
 ASCII line-feed, i.e., \*(``newline\*('' is the same as LF.
+.TP 5
+STTY
+special characters which are set with \fBstty\fP(1).
 .RE
 .TP 8
 .B "disallowedTcapOps\fP (class\fB DisallowedTcapOps\fP)"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xterm-387/xterm_io.h new/xterm-388/xterm_io.h
--- old/xterm-387/xterm_io.h    2020-01-18 19:48:19.000000000 +0100
+++ new/xterm-388/xterm_io.h    2023-10-22 16:54:29.000000000 +0200
@@ -1,7 +1,7 @@
-/* $XTermId: xterm_io.h,v 1.67 2020/01/18 18:48:19 tom Exp $ */
+/* $XTermId: xterm_io.h,v 1.68 2023/10/22 14:54:29 tom Exp $ */
 
 /*
- * Copyright 2000-2018,2020 by Thomas E. Dickey
+ * Copyright 2000-2020,2023 by Thomas E. Dickey
  *
  *                         All Rights Reserved
  *
@@ -284,4 +284,19 @@
 
 typedef unsigned short ttySize_t;
 
+#ifdef USE_ANY_SYSV_TERMIO
+#define TERMIO_STRUCT struct termio
+#define ttySetAttr(fd, datap) ioctl(fd, TCSETA, datap)
+#define ttyGetAttr(fd, datap) ioctl(fd, TCGETA, datap)
+#define ttyFlush(fd)          ioctl(fd, TCFLSH, 1)
+#elif defined(USE_POSIX_TERMIOS)
+#define TERMIO_STRUCT struct termios
+#define ttySetAttr(fd, datap) tcsetattr(fd, TCSANOW, datap)
+#define ttyGetAttr(fd, datap) tcgetattr(fd, datap)
+#define ttyFlush(fd)          tcflush(fd, TCOFLUSH)
+#else
+#error Neither termio or termios is enabled
+#endif /* USE_ANY_SYSV_TERMIO */
+
+
 #endif /* included_xterm_io_h */

Reply via email to