Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package tclx for openSUSE:Factory checked in at 2023-07-05 15:30:59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/tclx (Old) and /work/SRC/openSUSE:Factory/.tclx.new.23466 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tclx" Wed Jul 5 15:30:59 2023 rev:19 rq:1096835 version:8.6.2 Changes: -------- --- /work/SRC/openSUSE:Factory/tclx/tclx.changes 2022-11-08 10:55:16.589815266 +0100 +++ /work/SRC/openSUSE:Factory/.tclx.new.23466/tclx.changes 2023-07-05 15:31:16.130818608 +0200 @@ -1,0 +2,6 @@ +Tue Jul 4 09:04:32 UTC 2023 - Andrea Manzini <andrea.manz...@suse.com> + +- Update to version 8.6.2 + * filter rresvport if not present + +------------------------------------------------------------------- Old: ---- tclx-8.4.4.tar.gz New: ---- tclx-8.6.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ tclx.spec ++++++ --- /var/tmp/diff_new_pack.ZiKZpr/_old 2023-07-05 15:31:16.746822262 +0200 +++ /var/tmp/diff_new_pack.ZiKZpr/_new 2023-07-05 15:31:16.750822286 +0200 @@ -1,7 +1,7 @@ # # spec file for package tclx # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: tclx -Version: 8.4.4 +Version: 8.6.2 Release: 0 Summary: TclX - Extended Tcl License: BSD-3-Clause AND SUSE-Permissive @@ -37,19 +37,20 @@ In addition, a detailed help system is available for Tcl/Tk: tclhelp. %prep -%setup -q +%autosetup %build autoreconf -fi export CFLAGS="%optflags -fno-strict-aliasing" %configure \ --with-tcl=%_libdir \ + --libdir=%tcl_archdir \ --with-help \ --enable-threads %make_build %install -%make_install pkglibdir=%tcl_archdir/%{name}8.6 +%make_install %post -p /sbin/ldconfig %postun -p /sbin/ldconfig ++++++ tclx-8.4.4.tar.gz -> tclx-8.6.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tclx-8.4.4/.github/workflows/linux-ci.yml new/tclx-8.6.2/.github/workflows/linux-ci.yml --- old/tclx-8.4.4/.github/workflows/linux-ci.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/tclx-8.6.2/.github/workflows/linux-ci.yml 2023-05-30 21:55:47.000000000 +0200 @@ -0,0 +1,33 @@ +name: Linux CI + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Install dependencies + run: | + sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test + sudo apt-get update -qq + sudo apt-get install -y gcc-11 g++-11 + sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 110 --slave /usr/bin/g++ g++ /usr/bin/g++-11 --slave /usr/bin/gcov gcov /usr/bin/gcov-11 + sudo apt-get install -y tcl8.6-dev + - name: configure + run: | + autoreconf -vi + ./configure --with-tcl=/usr/lib/tcl8.6 + - name: make + run: | + make + make test + - name: install + run: sudo make install + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tclx-8.4.4/.github/workflows/mac-ci.yml new/tclx-8.6.2/.github/workflows/mac-ci.yml --- old/tclx-8.4.4/.github/workflows/mac-ci.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/tclx-8.6.2/.github/workflows/mac-ci.yml 2023-05-30 21:55:47.000000000 +0200 @@ -0,0 +1,43 @@ +name: Mac CI + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + + runs-on: macos-latest + + steps: + - uses: actions/checkout@v2 + - name: Build dependencies + # Building tcl to make sure we get tclInt.h + run: | + sudo mkdir -p /usr/local/src/git + sudo chown `id -un` /usr/local/src/git + cd /usr/local/src/git + git clone https://github.com/tcltk/tcl.git + cd tcl + git checkout core-8-6-branch + cd unix + ./configure + make + sudo make install + - name: configure + run: | + autoreconf -vi + ./configure --with-tcl=/usr/local/lib --prefix=/usr/local + - name: make + run: make + - name: test + # These tests fail on Mac *only* in the Github Actions containers, and this + # cannot be reproduced in a workable test environment. It may be related to + # the general signal handling issues with multithreaded TclX. Try re-enabling + # when on Tcl(x) 8.7 where the problem should be fixed. + run: SKIPFILES="pipe.test process.test signal.test" make test + - name: install + run: sudo make install + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tclx-8.4.4/.travis.yml new/tclx-8.6.2/.travis.yml --- old/tclx-8.4.4/.travis.yml 2020-03-29 20:25:34.000000000 +0200 +++ new/tclx-8.6.2/.travis.yml 1970-01-01 01:00:00.000000000 +0100 @@ -1,20 +0,0 @@ -language: c - -sudo: true - -os: - - linux - - osx - -before_install: - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install tcl-tk; fi - - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get update -qq; fi - - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install tcl8.6-dev -y; fi - -script: - - autoreconf -vi - - if [ -f /usr/local/opt/tcl-tk/lib/tclConfig.sh ]; then ./configure --with-tcl=/usr/local/opt/tcl-tk/lib --prefix=/usr/local; else ./configure; fi - - make - - sudo make install - - make test diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tclx-8.4.4/README.md new/tclx-8.6.2/README.md --- old/tclx-8.4.4/README.md 2020-03-29 20:25:34.000000000 +0200 +++ new/tclx-8.6.2/README.md 2023-05-30 21:55:47.000000000 +0200 @@ -1,4 +1,5 @@ -[](https://travis-ci.org/flightaware/tclx) + + # Extended Tcl (TclX) @@ -12,7 +13,7 @@ Extended Tcl runs on most Unix-like systems and Windows. -While this TclX distribution is tested with Tcl 8.4 and Tk 8.4, it should with Tcl 8.3+. Please check the Extended Tcl homepage at +While this TclX distribution is tested with Tcl 8.6 and Tk 8.4, it should work with Tcl 8.3+. Please check the Extended Tcl homepage at http://tclx.sourceforge.net/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tclx-8.4.4/configure new/tclx-8.6.2/configure --- old/tclx-8.4.4/configure 2020-03-29 20:25:34.000000000 +0200 +++ new/tclx-8.6.2/configure 2023-05-30 21:55:47.000000000 +0200 @@ -715,6 +715,7 @@ docdir oldincludedir includedir +runstatedir localstatedir sharedstatedir sysconfdir @@ -796,6 +797,7 @@ sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' +runstatedir='${localstatedir}/run' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' @@ -1048,6 +1050,15 @@ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; + -runstatedir | --runstatedir | --runstatedi | --runstated \ + | --runstate | --runstat | --runsta | --runst | --runs \ + | --run | --ru | --r) + ac_prev=runstatedir ;; + -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ + | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ + | --run=* | --ru=* | --r=*) + runstatedir=$ac_optarg ;; + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ @@ -1185,7 +1196,7 @@ for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir + libdir localedir mandir runstatedir do eval ac_val=\$$ac_var # Remove trailing slashes. @@ -1338,6 +1349,7 @@ --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] @@ -2330,7 +2342,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -FULL_VERSION="8.6.0" +FULL_VERSION="8.6.1" # TEA extensions pass this us the version of TEA they think they @@ -9186,6 +9198,7 @@ #include <sys/types.h> #include <sys/times.h> +#include <unistd.h> main() { struct tms cpu; times(&cpu); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tclx-8.4.4/configure.in new/tclx-8.6.2/configure.in --- old/tclx-8.4.4/configure.in 2020-03-29 20:25:34.000000000 +0200 +++ new/tclx-8.6.2/configure.in 2023-05-30 21:55:47.000000000 +0200 @@ -6,7 +6,7 @@ # RCS: @(#) $Id: configure.in,v 1.17 2006/01/26 00:30:54 hobbs Exp $ AC_INIT([tclx], [8.6]) -FULL_VERSION="8.6.0" +FULL_VERSION="8.6.2" TEA_INIT([3.9]) @@ -193,9 +193,11 @@ AC_MSG_CHECKING(checking to see what 'times' returns) AC_TRY_RUN([ +#include <stdlib.h> #include <sys/types.h> #include <sys/times.h> -main() { +#include <unistd.h> +int main(void) { struct tms cpu; times(&cpu); sleep(2); @@ -253,6 +255,7 @@ AC_CHECK_FUNC(inet_aton, , [AC_DEFINE(NO_INET_ATON)]) AC_CHECK_FUNC(gethostname, , [AC_DEFINE(NO_GETHOSTNAME)]) + AC_CHECK_FUNCS([rresvport]) #------------------------------------------------------------------------- # Check for additional libraries the Tcl/Tk does not check for. @@ -268,7 +271,8 @@ AC_CHECK_FUNC(catgets, [AC_MSG_CHECKING([catclose return value]) - AC_TRY_COMPILE([#include <nl_types.h>], [ + AC_TRY_COMPILE([#include <stdlib.h> + #include <nl_types.h>], [ if (catclose ((nl_catd) 0) == 0) exit (0);], AC_MSG_RESULT(ok), [ AC_MSG_RESULT([broken catclose return type]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tclx-8.4.4/generic/tclExtdInt.h new/tclx-8.6.2/generic/tclExtdInt.h --- old/tclx-8.4.4/generic/tclExtdInt.h 2020-03-29 20:25:34.000000000 +0200 +++ new/tclx-8.6.2/generic/tclExtdInt.h 2023-05-30 21:55:47.000000000 +0200 @@ -47,7 +47,7 @@ */ #ifdef TCLX_DEBUG # define TclX_Assert(expr) ((expr) ? (void)0 : \ - panic("TclX assertion failure: %s:%d \"%s\"\n",\ + Tcl_Panic("TclX assertion failure: %s:%d \"%s\"\n",\ __FILE__, __LINE__, "expr")) #else # define TclX_Assert(expr) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tclx-8.4.4/generic/tclXdup.c new/tclx-8.6.2/generic/tclXdup.c --- old/tclx-8.4.4/generic/tclXdup.c 2020-03-29 20:25:34.000000000 +0200 +++ new/tclx-8.6.2/generic/tclXdup.c 2023-05-30 21:55:47.000000000 +0200 @@ -75,7 +75,7 @@ goto errorExit; } if ((optArgc % 2) != 0) { - panic("channel didn't return keyword/value pairs"); + Tcl_Panic("channel didn't return keyword/value pairs"); } for (idx = 0; idx < optArgc; idx += 2) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tclx-8.4.4/generic/tclXfcntl.c new/tclx-8.6.2/generic/tclXfcntl.c --- old/tclx-8.4.4/generic/tclXfcntl.c 2020-03-29 20:25:34.000000000 +0200 +++ new/tclx-8.6.2/generic/tclXfcntl.c 2023-05-30 21:55:47.000000000 +0200 @@ -200,11 +200,15 @@ value = (optValue == TCLX_BUFFERING_LINE); break; case ATTR_KEEPALIVE: - if (TclXOSgetsockopt (interp, channel, SO_KEEPALIVE, &value) != TCL_OK) + { + socklen_t len; + if (TclXOSgetsockopt (interp, channel, SO_KEEPALIVE, &len) != TCL_OK) return TCL_ERROR; + value = len; + } break; default: - panic ("bug in fcntl get attrib"); + Tcl_Panic ("bug in fcntl get attrib"); value = 0; /* suppress compiler warning for initialized value */ } @@ -260,7 +264,7 @@ case ATTR_KEEPALIVE: return TclXOSsetsockopt (interp, channel, SO_KEEPALIVE, value); default: - panic ("buf in fcntl set attrib"); + Tcl_Panic ("buf in fcntl set attrib"); } return TCL_ERROR; /* Should never be reached */ } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tclx-8.4.4/generic/tclXhandles.c new/tclx-8.6.2/generic/tclXhandles.c --- old/tclx-8.4.4/generic/tclXhandles.c 2020-03-29 20:25:34.000000000 +0200 +++ new/tclx-8.6.2/generic/tclXhandles.c 2023-05-30 21:55:47.000000000 +0200 @@ -539,7 +539,7 @@ entryHdrPtr = HEADER_AREA (entryPtr); if (entryHdrPtr->freeLink != ALLOCATED_IDX) - panic ("Tcl_HandleFree: entry not allocated %x\n", entryHdrPtr); + Tcl_Panic ("Tcl_HandleFree: entry not allocated %p\n", entryHdrPtr); entryHdrPtr->freeLink = tblHdrPtr->freeHeadIdx; tblHdrPtr->freeHeadIdx = diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tclx-8.4.4/generic/tclXinit.c new/tclx-8.6.2/generic/tclXinit.c --- old/tclx-8.4.4/generic/tclXinit.c 2020-03-29 20:25:34.000000000 +0200 +++ new/tclx-8.6.2/generic/tclXinit.c 2023-05-30 21:55:47.000000000 +0200 @@ -122,7 +122,10 @@ TclX_ProfileInit (interp); TclX_SelectInit (interp); TclX_StringInit (interp); + + #if !defined(_WIN32) && !defined(_WIN64) TclX_ChannelFdInit(interp); + #endif if (!Tcl_IsSafe(interp)) { /* diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tclx-8.4.4/generic/tclXkeylist.c new/tclx-8.6.2/generic/tclXkeylist.c --- old/tclx-8.4.4/generic/tclXkeylist.c 2020-03-29 20:25:34.000000000 +0200 +++ new/tclx-8.6.2/generic/tclXkeylist.c 2023-05-30 21:55:47.000000000 +0200 @@ -17,6 +17,7 @@ */ #include "tclExtdInt.h" +#include <stdint.h> /* * Keyed lists are stored as arrays recursively defined objects. The data @@ -338,7 +339,7 @@ if (keylIntPtr->hashTbl != NULL) { Tcl_HashEntry *entryPtr; Tcl_HashSearch search; - int nidx; + intptr_t nidx; entryPtr = Tcl_FindHashEntry(keylIntPtr->hashTbl, keylIntPtr->entries [entryIdx].key); @@ -354,7 +355,7 @@ */ for (entryPtr = Tcl_FirstHashEntry(keylIntPtr->hashTbl, &search); entryPtr != NULL; entryPtr = Tcl_NextHashEntry(&search)) { - nidx = (int) Tcl_GetHashValue(entryPtr); + nidx = (intptr_t) Tcl_GetHashValue(entryPtr); if (nidx > entryIdx) { Tcl_SetHashValue(entryPtr, (ClientData) (uintptr_t) (nidx - 1)); } @@ -394,7 +395,8 @@ char **nextSubKeyPtr) { char *keySeparPtr; - int keyLen, findIdx = -1; + int keyLen; + intptr_t findIdx = -1; keySeparPtr = strchr (key, '.'); if (keySeparPtr != NULL) { @@ -416,7 +418,7 @@ } entryPtr = Tcl_FindHashEntry(keylIntPtr->hashTbl, key); if (entryPtr != NULL) { - findIdx = (int) Tcl_GetHashValue(entryPtr); + findIdx = (intptr_t) Tcl_GetHashValue(entryPtr); } if (keySeparPtr != NULL) { key[keyLen] = tmp; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tclx-8.4.4/generic/tclXprofile.c new/tclx-8.6.2/generic/tclXprofile.c --- old/tclx-8.4.4/generic/tclXprofile.c 2020-03-29 20:25:34.000000000 +0200 +++ new/tclx-8.6.2/generic/tclXprofile.c 2023-05-30 21:55:47.000000000 +0200 @@ -83,7 +83,7 @@ } profInfo_t; /* - * Argument to panic on logic errors. Takes an id number. + * Argument to Tcl_Panic on logic errors. Takes an id number. */ static const char *PROF_PANIC = "TclX profile bug id = %d\n"; @@ -228,7 +228,7 @@ * Only global level can be NULL. */ if (scanPtr == NULL) - panic (PROF_PANIC, 1); + Tcl_Panic (PROF_PANIC, 1); } entryPtr->prevScopePtr = scanPtr; infoPtr->scopeChainPtr = entryPtr; @@ -434,7 +434,7 @@ UpdateTOSTimes (infoPtr); do { if (infoPtr->stackPtr->evalLevel != UNKNOWN_LEVEL) - panic (PROF_PANIC, 2); /* Not an initial entry */ + Tcl_Panic (PROF_PANIC, 2); /* Not an initial entry */ PopEntry (infoPtr); } while (infoPtr->stackPtr->procLevel > procLevel); } @@ -569,7 +569,7 @@ Tcl_CmdInfo cmdInfo; if (cmd == NULL) - panic (PROF_PANIC, 4); + Tcl_Panic (PROF_PANIC, 4); //TIP #571: We don' want to profile the tailcall itself. As it can only be called in a procedure/lambda context if ( ! strcmp((*objv)->bytes, "tailcall") ) { @@ -701,7 +701,7 @@ * Only global level can be NULL. */ if (scanPtr == NULL) - panic (PROF_PANIC, 6); + Tcl_Panic (PROF_PANIC, 6); } infoPtr->scopeChainPtr = scanPtr; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tclx-8.4.4/generic/tclXsignal.c new/tclx-8.6.2/generic/tclXsignal.c --- old/tclx-8.4.4/generic/tclXsignal.c 2020-03-29 20:25:34.000000000 +0200 +++ new/tclx-8.6.2/generic/tclXsignal.c 2023-05-30 21:55:47.000000000 +0200 @@ -463,7 +463,7 @@ *----------------------------------------------------------------------------- */ static int -BlockSignals (Tcl_Interp *interp, int action, unsigned char signals[]) +BlockSignals (Tcl_Interp *interp, int action, unsigned char signals[MAXSIG]) { #ifndef NO_SIGACTION int signalNum; @@ -631,11 +631,11 @@ #ifdef SIGCHLD if (signalNum != SIGCHLD) { if (SetSignalState (signalNum, SignalTrap, FALSE) == TCL_ERROR) - panic ("SignalTrap bug"); + Tcl_Panic ("SignalTrap bug"); } #else if (SetSignalState (signalNum, SignalTrap, FALSE) == TCL_ERROR) - panic ("SignalTrap bug"); + Tcl_Panic ("SignalTrap bug"); #endif /* SIGCHLD */ #endif /* NO_SIGACTION */ } @@ -1540,7 +1540,7 @@ break; } if (idx == numInterps) - panic ("signal interp lost"); + Tcl_Panic ("signal interp lost"); interpTable [idx] = interpTable [--numInterps]; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tclx-8.4.4/generic/tclXstring.c new/tclx-8.6.2/generic/tclXstring.c --- old/tclx-8.4.4/generic/tclXstring.c 2020-03-29 20:25:34.000000000 +0200 +++ new/tclx-8.6.2/generic/tclXstring.c 2023-05-30 21:55:47.000000000 +0200 @@ -666,7 +666,7 @@ #define IS_8BIT_UNICHAR(c) (c <= 255) if (TCL_UTF_MAX > sizeof(number)) { - panic("TclX_CtypeObjCmd: UTF character longer than a int"); + Tcl_Panic("TclX_CtypeObjCmd: UTF character longer than a int"); } /*FIX: Split into multiple procs */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tclx-8.4.4/generic/tclXutil.c new/tclx-8.6.2/generic/tclXutil.c --- old/tclx-8.4.4/generic/tclXutil.c 2020-03-29 20:25:34.000000000 +0200 +++ new/tclx-8.6.2/generic/tclXutil.c 2023-05-30 21:55:47.000000000 +0200 @@ -476,7 +476,7 @@ } else if (STREQU (strValue, "platform")) { return TCLX_TRANSLATE_PLATFORM; } - panic ("ParseTranslationOption bug"); + Tcl_Panic ("ParseTranslationOption bug"); return TCL_ERROR; /* Not reached */ } @@ -507,7 +507,7 @@ case TCLX_TRANSLATE_PLATFORM: return "platform"; default: - panic ("FormatTranslationOption bug"); + Tcl_Panic ("FormatTranslationOption bug"); } return NULL; /* Not reached */ } @@ -620,7 +620,7 @@ return TCL_OK; fatalError: - panic ("TclX_GetChannelOption bug"); /* FIX: return error. */ + Tcl_Panic ("TclX_GetChannelOption bug"); /* FIX: return error. */ return 0; /* Not reached */ } @@ -715,7 +715,7 @@ return Tcl_SetChannelOption (interp, channel, strOption, strValue); fatalError: - panic ("TclX_SetChannelOption bug"); + Tcl_Panic ("TclX_SetChannelOption bug"); return TCL_ERROR; /* Not reached */ } @@ -926,7 +926,7 @@ /* * This should never happen */ - panic ("invalid TclX result save object"); + Tcl_Panic ("invalid TclX result save object"); } Tcl_SetVar2Ex(interp, ERRORCODE, NULL, saveObjv[2], TCL_GLOBAL_ONLY); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tclx-8.4.4/tclconfig/tcl.m4 new/tclx-8.6.2/tclconfig/tcl.m4 --- old/tclx-8.4.4/tclconfig/tcl.m4 2020-03-29 20:25:34.000000000 +0200 +++ new/tclx-8.6.2/tclconfig/tcl.m4 2023-05-30 21:55:47.000000000 +0200 @@ -2525,7 +2525,8 @@ # (like convex) have timezone functions, etc. # AC_CACHE_CHECK([long timezone variable], tcl_cv_timezone_long, [ - AC_TRY_COMPILE([#include <time.h>], + AC_TRY_COMPILE([#include <stdlib.h> + #include <time.h>], [extern long timezone; timezone += 1; exit (0);], @@ -2537,7 +2538,8 @@ # On some systems (eg IRIX 6.2), timezone is a time_t and not a long. # AC_CACHE_CHECK([time_t timezone variable], tcl_cv_timezone_time, [ - AC_TRY_COMPILE([#include <time.h>], + AC_TRY_COMPILE([#include <stdlib.h> + #include <time.h>], [extern time_t timezone; timezone += 1; exit (0);], @@ -2572,8 +2574,9 @@ if test "$tcl_strtod" = 1; then AC_CACHE_CHECK([for Solaris2.4/Tru64 strtod bugs], tcl_cv_strtod_buggy,[ AC_TRY_RUN([ + #include <stdlib.h> extern double strtod(); - int main() { + int main(void) { char *infString="Inf", *nanString="NaN", *spaceString=" "; char *term; double value; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tclx-8.4.4/tests/all.tcl new/tclx-8.6.2/tests/all.tcl --- old/tclx-8.4.4/tests/all.tcl 2020-03-29 20:25:34.000000000 +0200 +++ new/tclx-8.6.2/tests/all.tcl 2023-05-30 21:55:47.000000000 +0200 @@ -21,6 +21,11 @@ ::tcltest::configure -testdir [file dirname [file normalize [info script]]] ::tcltest::configure {*}$argv +# Skip these tests on a per-build basis +if {[info exists env(SKIPFILES)]} { + lappend ::tcltest::skipFiles {*}$env(SKIPFILES) +} + puts stdout "Tests running in interp: [info nameofexecutable]" puts stdout "Tests running with pwd: [pwd]" puts stdout "Tests running in working dir: $::tcltest::testsDirectory" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tclx-8.4.4/unix/tclXunixDup.c new/tclx-8.6.2/unix/tclXunixDup.c --- old/tclx-8.4.4/unix/tclXunixDup.c 2020-03-29 20:25:34.000000000 +0200 +++ new/tclx-8.6.2/unix/tclXunixDup.c 2023-05-30 21:55:47.000000000 +0200 @@ -17,6 +17,7 @@ */ #include "tclExtdInt.h" +#include <stdint.h> /*----------------------------------------------------------------------------- @@ -75,7 +76,8 @@ ClientData handle; const Tcl_ChannelType *channelType; Tcl_Channel newChannel = NULL; - int srcFileNum, newFileNum = -1; + intptr_t srcFileNum; + int newFileNum = -1; /* * On Unix, the channels we can dup share the same file for the read and @@ -86,7 +88,7 @@ } else { Tcl_GetChannelHandle (srcChannel, TCL_WRITABLE, &handle); } - srcFileNum = (int) handle; + srcFileNum = (intptr_t) handle; channelType = Tcl_GetChannelType (srcChannel); /* diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tclx-8.4.4/unix/tclXunixId.c new/tclx-8.6.2/unix/tclXunixId.c --- old/tclx-8.4.4/unix/tclXunixId.c 2020-03-29 20:25:34.000000000 +0200 +++ new/tclx-8.6.2/unix/tclXunixId.c 2023-05-30 21:55:47.000000000 +0200 @@ -447,18 +447,18 @@ if (objc != 2) return TclX_WrongArgs (interp, objv [0], "host"); - if (gethostname (hostNameBuf, MAXHOSTNAMELEN) < 0) { - TclX_AppendObjResult (interp, Tcl_PosixError (interp), - (char *) NULL); - return TCL_ERROR; - } - hostNameBuf[MAXHOSTNAMELEN-1] = '\0'; - Tcl_SetObjResult (interp, Tcl_NewStringObj (hostNameBuf, -1)); - return TCL_OK; + if (gethostname (hostNameBuf, MAXHOSTNAMELEN) < 0) { + TclX_AppendObjResult (interp, Tcl_PosixError (interp), + (char *) NULL); + return TCL_ERROR; + } + hostNameBuf[MAXHOSTNAMELEN-1] = '\0'; + Tcl_SetObjResult (interp, Tcl_NewStringObj (hostNameBuf, -1)); + return TCL_OK; #else - TclX_AppendObjResult (interp, "host name unavailable on this system ", + TclX_AppendObjResult (interp, "host name unavailable on this system ", "(no gethostname function)", (char *) NULL); - return TCL_ERROR; + return TCL_ERROR; #endif } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tclx-8.4.4/unix/tclXunixOS.c new/tclx-8.6.2/unix/tclXunixOS.c --- old/tclx-8.4.4/unix/tclXunixOS.c 2020-03-29 20:25:34.000000000 +0200 +++ new/tclx-8.6.2/unix/tclXunixOS.c 2023-05-30 21:55:47.000000000 +0200 @@ -22,6 +22,7 @@ */ #include "tclExtdInt.h" +#include <stdint.h> #ifndef NO_GETPRIORITY #include <sys/resource.h> @@ -113,7 +114,7 @@ return -1; } } - return (int) handle; + return (intptr_t) handle; } /*----------------------------------------------------------------------------- @@ -401,7 +402,7 @@ if (pid == 0) { close (errPipes [0]); execl ("/bin/sh", "sh", "-c", command, (char *) NULL); - write (errPipes [1], &errno, sizeof (errno)); + if (write (errPipes [1], &errno, sizeof (errno))) {} _exit (127); } @@ -918,8 +919,9 @@ int TclXOSgetsockname (Tcl_Interp *interp, Tcl_Channel channel, void *sockaddr, int sockaddrSize) { + socklen_t siz = sockaddrSize; if (getsockname (ChannelToFnum (channel, 0), - (struct sockaddr *) sockaddr, &sockaddrSize) < 0) { + (struct sockaddr *) sockaddr, &siz) < 0) { TclX_AppendObjResult (interp, Tcl_GetChannelName (channel), ": ", Tcl_PosixError (interp), (char *) NULL); return TCL_ERROR; @@ -943,7 +945,7 @@ int TclXOSgetsockopt (Tcl_Interp *interp, Tcl_Channel channel, int option, socklen_t *valuePtr) { - int valueLen = sizeof (*valuePtr); + socklen_t valueLen = sizeof (*valuePtr); if (getsockopt (ChannelToFnum (channel, 0), SOL_SOCKET, option, (void*) valuePtr, &valueLen) != 0) { @@ -1385,7 +1387,7 @@ (char *) NULL); return TCL_ERROR; } - *fnumPtr = (int) handle; + *fnumPtr = (intptr_t) handle; return TCL_OK; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tclx-8.4.4/unix/tclXunixPort.h new/tclx-8.6.2/unix/tclXunixPort.h --- old/tclx-8.4.4/unix/tclXunixPort.h 2020-03-29 20:25:34.000000000 +0200 +++ new/tclx-8.6.2/unix/tclXunixPort.h 2023-05-30 21:55:47.000000000 +0200 @@ -37,10 +37,6 @@ extern int h_errno; #endif -#ifdef __APPLE__ -# undef panic -#endif - /* * Included the tcl file tclUnixPort.h after other system files, as it checks * if certain things are defined. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tclx-8.4.4/unix/tclXunixSock.c new/tclx-8.6.2/unix/tclXunixSock.c --- old/tclx-8.4.4/unix/tclXunixSock.c 2020-03-29 20:25:34.000000000 +0200 +++ new/tclx-8.6.2/unix/tclXunixSock.c 2023-05-30 21:55:47.000000000 +0200 @@ -193,12 +193,14 @@ /* * Allocate a reserved port if requested. */ +#ifdef HAVE_RRESVPORT if (getReserved) { int port; if (rresvport (&port) < 0) goto unixError; local.sin_port = port; } +#endif /* * Open a socket and bind an address and port to it. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tclx-8.4.4/win/makefile.vc new/tclx-8.6.2/win/makefile.vc --- old/tclx-8.4.4/win/makefile.vc 2020-03-29 20:25:34.000000000 +0200 +++ new/tclx-8.6.2/win/makefile.vc 2023-05-30 21:55:47.000000000 +0200 @@ -2,7 +2,7 @@ # # Microsoft Visual C++ makefile for use with nmake.exe v1.62+ (VC++ 5.0+) # -# This makefile is based upon the Tcl 8.4 Makefile.vc and modified to +# This makefile is based upon the Tcl 8.6 Makefile.vc and modified to # make it suitable as a general package makefile. Look for the word EDIT # which marks sections that may need modification. As a minumum you will # need to change the PROJECT, DOTVERSION and DLLOBJS variables to values @@ -164,8 +164,8 @@ #PROJECT_REQUIRES_TK=1 !include "rules.vc" -FULL_VERSION = 8.4.0 -DOTVERSION = 8.4 +FULL_VERSION = 8.6.12 +DOTVERSION = 8.6 VERSION = $(DOTVERSION:.=) STUBPREFIX = $(PROJECT)stub @@ -203,6 +203,7 @@ $(TMP_DIR)\tclXwinOS.obj \ $(TMP_DIR)\random.obj \ $(TMP_DIR)\getopt.obj \ + $(TMP_DIR)\tclXcoalesce.obj \ !if !$(STATIC_BUILD) $(TMP_DIR)\tclx.res !endif @@ -366,7 +367,7 @@ !else @set PATH=$(_TCLDIR)\win\$(BUILDDIRTOP);$(PATH) !endif - @$(CPY) $(LIBDIR) $(OUT_DIR)\tclx8.4 + @$(CPY) $(LIBDIR) $(OUT_DIR)\tclx8.6 !if "$(OS)" == "Windows_NT" || "$(MSVCDIR)" == "IDE" $(DEBUGGER) $(TCLSH) "$(ROOT)/tests/all.tcl" $(TESTFLAGS) !else @@ -383,7 +384,7 @@ !else @set PATH=$(_TCLDIR)\win\$(BUILDDIRTOP);$(PATH) !endif - @$(CPY) $(LIBDIR) $(OUT_DIR)\tclx8.4 + @$(CPY) $(LIBDIR) $(OUT_DIR)\tclx8.6 $(DEBUGGER) $(TCLSH) $(SCRIPT) setup: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tclx-8.4.4/win/tclXwinOS.c new/tclx-8.6.2/win/tclXwinOS.c --- old/tclx-8.4.4/win/tclXwinOS.c 2020-03-29 20:25:34.000000000 +0200 +++ new/tclx-8.6.2/win/tclXwinOS.c 2023-05-30 21:55:47.000000000 +0200 @@ -1483,7 +1483,7 @@ case TCLX_WIN_CONSOLE: break; /* FIX: Is this legal?? */ default: - panic ("unknown win channel type %d\n", type); + Tcl_Panic ("unknown win channel type %d\n", type); } /*