Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package newt for openSUSE:Factory checked in at 2022-12-05 18:00:35 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/newt (Old) and /work/SRC/openSUSE:Factory/.newt.new.1835 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "newt" Mon Dec 5 18:00:35 2022 rev:49 rq:1040006 version:0.52.23 Changes: -------- --- /work/SRC/openSUSE:Factory/newt/newt.changes 2020-06-11 14:47:45.681917250 +0200 +++ /work/SRC/openSUSE:Factory/.newt.new.1835/newt.changes 2022-12-05 18:00:37.360392572 +0100 @@ -1,0 +2,18 @@ +Sun Dec 4 14:25:40 UTC 2022 - Dirk Müller <[email protected]> + +- update to 0.52.23: + * fix automatic height of menu/list in whiptail (broken in 0.52.22) + * fix automatic width of whiptail --yesno box + * fix automatic width in whiptail with unicode characters + * fix automatic width with whiptail --noitem and --notags options + * fix spacing with longer tags in whiptail + * avoid overlapping backtitle in whiptail with automatic height + * fix crash in whiptail with new libpopt + * switch from usleep to nanosleep (Rosen Penev) + * fix libnewt.pc to enable static linking (Alexey Sheplyakov) + * fix LDFLAGS order in snack linking (Sam James) + * use CFLAGS when compiling snack + * improve configure.ac (Thomas Kuehne) + * install header and libnewt.pc with shared library (Michael Olbrich) + +------------------------------------------------------------------- Old: ---- newt-0.52.21.tar.gz New: ---- newt-0.52.23.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ newt-doc.spec ++++++ --- /var/tmp/diff_new_pack.glHGdB/_old 2022-12-05 18:00:37.980395948 +0100 +++ /var/tmp/diff_new_pack.glHGdB/_new 2022-12-05 18:00:37.984395970 +0100 @@ -1,7 +1,7 @@ # # spec file for package newt-doc # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2022 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: newt-doc -Version: 0.52.21 +Version: 0.52.23 Release: 0 Summary: Tutorial for Nifty Erik's Windowing Toolkit License: LGPL-2.1-or-later ++++++ newt.spec ++++++ --- /var/tmp/diff_new_pack.glHGdB/_old 2022-12-05 18:00:38.016396144 +0100 +++ /var/tmp/diff_new_pack.glHGdB/_new 2022-12-05 18:00:38.020396166 +0100 @@ -1,7 +1,7 @@ # # spec file for package newt # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -21,7 +21,7 @@ %{!?python2_sitearch: %global python2_sitearch %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} %bcond_without python2 Name: newt -Version: 0.52.21 +Version: 0.52.23 Release: 0 Summary: A library for text mode user interfaces License: LGPL-2.1-or-later ++++++ newt-0.52.21.tar.gz -> newt-0.52.23.tar.gz ++++++ ++++ 5510 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/newt-0.52.21/AUTHORS new/newt-0.52.23/AUTHORS --- old/newt-0.52.21/AUTHORS 2019-05-27 14:57:40.000000000 +0200 +++ new/newt-0.52.23/AUTHORS 2022-11-29 12:04:29.000000000 +0100 @@ -13,11 +13,14 @@ Contributors: Akira Tagoh + Alex Suykov + Alexey Sheplyakov Arnaldo Carvalho de Melo Bill Nottingham Bruce Perens Crutcher Dunnavant Dan Winship + Ãmeric Dupont Florian La Roche Forest Bond Greg Swift @@ -32,6 +35,7 @@ Matthias Klose Michael Fulbright Michael K. Johnson + Michael Olbrich Michael Scherer Michael Vogt Mikhail T. @@ -40,7 +44,12 @@ Otavio Salvador Preston Brown Richard W.M. Jones + Robert Gill + Rosen Penev + Sam James + Samuel Martin Shawn Starr Thomas Jarosch + Thomas Kuehne Trond Eivind Glomsrød Yanko Kaneti diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/newt-0.52.21/CHANGES new/newt-0.52.23/CHANGES --- old/newt-0.52.21/CHANGES 2019-05-27 14:57:40.000000000 +0200 +++ new/newt-0.52.23/CHANGES 2022-11-29 12:04:29.000000000 +0100 @@ -1,3 +1,20 @@ +0.52.23 +- fix automatic height of menu/list in whiptail (broken in 0.52.22) +- fix automatic width of whiptail --yesno box +- fix automatic width in whiptail with unicode characters +- fix automatic width with whiptail --noitem and --notags options +- fix spacing with longer tags in whiptail +- avoid overlapping backtitle in whiptail with automatic height + +0.52.22 +- fix crash in whiptail with new libpopt +- switch from usleep to nanosleep (Rosen Penev) +- fix libnewt.pc to enable static linking (Alexey Sheplyakov) +- fix LDFLAGS order in snack linking (Sam James) +- use CFLAGS when compiling snack +- improve configure.ac (Thomas Kuehne) +- install header and libnewt.pc with shared library (Michael Olbrich) + 0.52.21 - define env NEWT_NOFLOWCTRL to disable flow control (Robert Gill) - don't leak memory on errors in dialogboxes diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/newt-0.52.21/buttonbar.c new/newt-0.52.23/buttonbar.c --- old/newt-0.52.21/buttonbar.c 2019-05-27 14:57:40.000000000 +0200 +++ new/newt-0.52.23/buttonbar.c 2022-11-29 12:04:29.000000000 +0100 @@ -26,7 +26,7 @@ *buttons[i].compPtr = newtButton(-1, -1, buttons[i].name); newtGridSetField(grid, i, 0, NEWT_GRID_COMPONENT, *buttons[i].compPtr, - num ? 1 : 0, 0, 0, 0, 0, 0); + i ? 1 : 0, 0, 0, 0, 0, 0); } return grid; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/newt-0.52.21/config.h.in new/newt-0.52.23/config.h.in --- old/newt-0.52.21/config.h.in 2019-05-27 14:59:46.000000000 +0200 +++ new/newt-0.52.23/config.h.in 2022-11-29 12:05:00.000000000 +0100 @@ -12,15 +12,15 @@ /* Define to 1 if you have the <libintl.h> header file. */ #undef HAVE_LIBINTL_H -/* Define to 1 if you have the <memory.h> header file. */ -#undef HAVE_MEMORY_H - /* Define to 1 if you have the <popt.h> header file. */ #undef HAVE_POPT_H /* Define to 1 if you have the <stdint.h> header file. */ #undef HAVE_STDINT_H +/* Define to 1 if you have the <stdio.h> header file. */ +#undef HAVE_STDIO_H + /* Define to 1 if you have the <stdlib.h> header file. */ #undef HAVE_STDLIB_H @@ -75,7 +75,9 @@ /* The size of `void *', as computed by sizeof. */ #undef SIZEOF_VOID_P -/* Define to 1 if you have the ANSI C header files. */ +/* Define to 1 if all of the C90 standard headers exist (not just the ones + required in a freestanding environment). This macro is provided for + backward compatibility; new code need not use it. */ #undef STDC_HEADERS /* Define to 1 if GPM support is enabled */ @@ -84,11 +86,6 @@ /* NEWT Version String */ #undef VERSION -/* Enable large inode numbers on Mac OS X 10.5. */ -#ifndef _DARWIN_USE_64_BIT_INODE -# define _DARWIN_USE_64_BIT_INODE 1 -#endif - /* Number of bits in a file offset, on hosts where this is settable. */ #undef _FILE_OFFSET_BITS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/newt-0.52.21/configure.ac new/newt-0.52.23/configure.ac --- old/newt-0.52.21/configure.ac 2019-05-27 14:57:40.000000000 +0200 +++ new/newt-0.52.23/configure.ac 2022-11-29 12:04:29.000000000 +0100 @@ -1,10 +1,11 @@ -AC_INIT([newt_pr.h]) +AC_INIT +AC_CONFIG_SRCDIR([newt_pr.h]) PACKAGE=newt -VERSION=0.52.21 +VERSION=0.52.23 SONAME=0.52 -AC_CONFIG_HEADER([config.h]) +AC_CONFIG_HEADERS([config.h]) AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Package Name]) AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [NEWT Version String]) @@ -21,9 +22,9 @@ # Are we using GNU ld? AC_MSG_CHECKING([for GNU ld]) -LD=`$CC -print-prog-name=ld 2>&5` +LD=$($CC -print-prog-name=ld 2>&5) -if test `$LD -v 2>&1 | $ac_cv_path_GREP -c "GNU ld"` = 0; then +if test $($LD -v 2>&1 | $ac_cv_path_GREP -c "GNU ld") = 0; then # Not GNU_LD="" AC_MSG_RESULT([no]) @@ -82,20 +83,20 @@ # check in a few common install locations if test x"${ac_cv_c_tclconfig}" = x ; then - for i in `ls -d ${libdir} 2>/dev/null` \ - `ls -d /usr/lib 2>/dev/null` \ - `ls -d /usr/lib64 2>/dev/null` \ - `ls -d /usr/local/lib 2>/dev/null` \ - `ls -d /usr/contrib/lib 2>/dev/null` \ - `ls -d /usr/pkg/lib 2>/dev/null` \ - `ls -d /usr/local/lib/tcl8.5 2>/dev/null` \ - `ls -d /usr/local/lib/tcl8.4 2>/dev/null` \ - `ls -d /usr/lib/tcl8.5 2>/dev/null` \ - `ls -d /usr/lib/tcl8.4 2>/dev/null` \ - `ls -d /opt/local/lib 2>/dev/null` \ + for i in $(ls -d ${libdir} 2>/dev/null) \ + $(ls -d /usr/lib 2>/dev/null) \ + $(ls -d /usr/lib64 2>/dev/null) \ + $(ls -d /usr/local/lib 2>/dev/null) \ + $(ls -d /usr/contrib/lib 2>/dev/null) \ + $(ls -d /usr/pkg/lib 2>/dev/null) \ + $(ls -d /usr/local/lib/tcl8.5 2>/dev/null) \ + $(ls -d /usr/local/lib/tcl8.4 2>/dev/null) \ + $(ls -d /usr/lib/tcl8.5 2>/dev/null) \ + $(ls -d /usr/lib/tcl8.4 2>/dev/null) \ + $(ls -d /opt/local/lib 2>/dev/null) \ ; do if test -f "$i/tclConfig.sh" ; then - ac_cv_c_tclconfig=`(cd $i; pwd)` + ac_cv_c_tclconfig=$( (cd $i; pwd) ) break fi done diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/newt-0.52.21/dialogboxes.c new/newt-0.52.23/dialogboxes.c --- old/newt-0.52.21/dialogboxes.c 2019-05-27 14:57:40.000000000 +0200 +++ new/newt-0.52.23/dialogboxes.c 2022-11-29 12:04:29.000000000 +0100 @@ -254,13 +254,12 @@ return i; } -int listBox(const char * text, int height, int width, poptContext optCon, +int listBox(const char * text, int height, int width, int listHeight, poptContext optCon, int flags, const char *default_item, char ** result) { newtComponent form = NULL, okay, tb, answer, listBox; newtComponent cancel = NULL; const char * arg; char * end; - int listHeight; int numItems = 0; int allocedItems = 5; int i, top; @@ -279,11 +278,6 @@ if (itemInfo == NULL) goto error; - if (!(arg = poptGetArg(optCon))) - goto error; - listHeight = strtoul(arg, &end, 10); - if (*end) - goto error; while ((arg = poptGetArg(optCon))) { if (allocedItems == numItems) { @@ -343,7 +337,6 @@ tagWidth = lineWidth; } else { tagWidth++; - textWidth++; while (textWidth + tagWidth + i > lineWidth) { if (textWidth >= tagWidth && textWidth > 0) textWidth--; @@ -405,13 +398,12 @@ return rc; } -int checkList(const char * text, int height, int width, poptContext optCon, - int useRadio, int flags, char *** selections) { +int checkList(const char * text, int height, int width, int listHeight, + poptContext optCon, int useRadio, int flags, char *** selections) { newtComponent form = NULL, okay, tb, subform, answer; newtComponent sb = NULL, cancel = NULL; const char * arg; char * end; - int listHeight; int numBoxes = 0; int allocedBoxes = 5; int i; @@ -430,11 +422,6 @@ if (cbInfo == NULL || cbStates == NULL) goto error; - if (!(arg = poptGetArg(optCon))) - goto error; - listHeight = strtoul(arg, &end, 10); - if (*end) - goto error; while ((arg = poptGetArg(optCon))) { if (allocedBoxes == numBoxes) { @@ -498,11 +485,11 @@ snprintf(buf, MAXBUF, format, cbInfo[i].tag, cbInfo[i].text); if (useRadio) - cbInfo[i].comp = newtRadiobutton(4, top + 1 + i, buf, + cbInfo[i].comp = newtRadiobutton(2, top + 1 + i, buf, cbStates[i] != ' ', i ? cbInfo[i - 1].comp : NULL); else - cbInfo[i].comp = newtCheckbox(4, top + 1 + i, buf, + cbInfo[i].comp = newtCheckbox(2, top + 1 + i, buf, cbStates[i], NULL, cbStates + i); newtCheckboxSetFlags(cbInfo[i].comp, NEWT_FLAG_RETURNEXIT, NEWT_FLAGS_SET); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/newt-0.52.21/dialogboxes.h new/newt-0.52.23/dialogboxes.h --- old/newt-0.52.21/dialogboxes.h 2019-05-27 14:57:40.000000000 +0200 +++ new/newt-0.52.23/dialogboxes.h 2022-11-29 12:04:29.000000000 +0100 @@ -28,9 +28,9 @@ int max(int a, int b); int messageBox(const char * text, int height, int width, int type, int flags); -int checkList(const char * text, int height, int width, poptContext optCon, +int checkList(const char * text, int height, int width, int list_height, poptContext optCon, int useRadio, int flags, char *** selections); -int listBox(const char * text, int height, int width, poptContext optCon, +int listBox(const char * text, int height, int width, int list_height, poptContext optCon, int flags, const char *default_item, char ** result); int inputBox(const char * text, int height, int width, poptContext optCon, int flags, char ** result); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/newt-0.52.21/grid.c new/newt-0.52.23/grid.c --- old/newt-0.52.21/grid.c 2019-05-27 14:57:40.000000000 +0200 +++ new/newt-0.52.23/grid.c 2022-11-29 12:04:29.000000000 +0100 @@ -158,7 +158,6 @@ thisTop = top; for (row = 0; row < grid->rows; row++) { - i = 0; thisLeft = left; for (col = 0; col < grid->cols; col++) { field = &grid->fields[col][row]; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/newt-0.52.21/libnewt.pc.in new/newt-0.52.23/libnewt.pc.in --- old/newt-0.52.21/libnewt.pc.in 2019-05-27 14:57:40.000000000 +0200 +++ new/newt-0.52.23/libnewt.pc.in 2022-11-29 12:04:29.000000000 +0100 @@ -6,5 +6,6 @@ Name: libnewt Description: A development library for text mode user interfaces Version: @VERSION@ +Requires.private: slang Libs: -L${libdir} -lnewt Cflags: -I${includedir} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/newt-0.52.21/listbox.c new/newt-0.52.23/listbox.c --- old/newt-0.52.21/listbox.c 2019-05-27 14:57:40.000000000 +0200 +++ new/newt-0.52.23/listbox.c 2022-11-29 12:04:29.000000000 +0100 @@ -758,7 +758,7 @@ struct listbox * li = co->data; struct items * item, * nextitem; - nextitem = item = li->boxItems; + item = li->boxItems; while (item != NULL) { nextitem = item->next; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/newt-0.52.21/newt.c new/newt-0.52.23/newt.c --- old/newt-0.52.21/newt.c 2019-05-27 14:57:40.000000000 +0200 +++ new/newt-0.52.23/newt.c 2022-11-29 12:04:29.000000000 +0100 @@ -8,6 +8,7 @@ #include <sys/time.h> #include <sys/types.h> #include <termios.h> +#include <time.h> #include <unistd.h> #include <wchar.h> @@ -135,11 +136,6 @@ static void initKeymap(); static void freeKeymap(); -static const char ident[] = // ident friendly - "$Version: Newt windowing library v" VERSION " $" - "$Copyright: (C) 1996-2003 Red Hat, Inc. Written by Erik Troan $" - "$License: Lesser GNU Public License. $"; - static newtSuspendCallback suspendCallback = NULL; static void * suspendCallbackData = NULL; @@ -400,8 +396,6 @@ if (strstr (lang, ".euc") != NULL) trashScreen = 1; - (void) strlen(ident); - SLutf8_enable(-1); SLtt_get_terminfo(); SLtt_get_screen_size(); @@ -873,8 +867,6 @@ if (currentWindow == NULL) return; - row = col = 0; - row = currentWindow->top - 1; col = currentWindow->left - 2; if (row < 0) @@ -1033,7 +1025,9 @@ * @param int - number of usecs to wait for. */ void newtDelay(unsigned int usecs) { - usleep(usecs); + struct timespec t = { usecs / 1000000, (usecs % 1000000) * 1000 }; + + nanosleep(&t, NULL); } struct eventResult newtDefaultEventHandler(newtComponent c, Binary files old/newt-0.52.21/po/ar.mo and new/newt-0.52.23/po/ar.mo differ Binary files old/newt-0.52.21/po/as.mo and new/newt-0.52.23/po/as.mo differ Binary files old/newt-0.52.21/po/ast.mo and new/newt-0.52.23/po/ast.mo differ Binary files old/newt-0.52.21/po/bal.mo and new/newt-0.52.23/po/bal.mo differ Binary files old/newt-0.52.21/po/bg.mo and new/newt-0.52.23/po/bg.mo differ Binary files old/newt-0.52.21/po/bn.mo and new/newt-0.52.23/po/bn.mo differ Binary files old/newt-0.52.21/po/bn_IN.mo and new/newt-0.52.23/po/bn_IN.mo differ Binary files old/newt-0.52.21/po/bs.mo and new/newt-0.52.23/po/bs.mo differ Binary files old/newt-0.52.21/po/ca.mo and new/newt-0.52.23/po/ca.mo differ Binary files old/newt-0.52.21/po/cs.mo and new/newt-0.52.23/po/cs.mo differ Binary files old/newt-0.52.21/po/cy.mo and new/newt-0.52.23/po/cy.mo differ Binary files old/newt-0.52.21/po/da.mo and new/newt-0.52.23/po/da.mo differ Binary files old/newt-0.52.21/po/de.mo and new/newt-0.52.23/po/de.mo differ Binary files old/newt-0.52.21/po/dz.mo and new/newt-0.52.23/po/dz.mo differ Binary files old/newt-0.52.21/po/el.mo and new/newt-0.52.23/po/el.mo differ Binary files old/newt-0.52.21/po/eo.mo and new/newt-0.52.23/po/eo.mo differ Binary files old/newt-0.52.21/po/es.mo and new/newt-0.52.23/po/es.mo differ Binary files old/newt-0.52.21/po/et.mo and new/newt-0.52.23/po/et.mo differ Binary files old/newt-0.52.21/po/eu.mo and new/newt-0.52.23/po/eu.mo differ Binary files old/newt-0.52.21/po/fa.mo and new/newt-0.52.23/po/fa.mo differ Binary files old/newt-0.52.21/po/fi.mo and new/newt-0.52.23/po/fi.mo differ Binary files old/newt-0.52.21/po/fr.mo and new/newt-0.52.23/po/fr.mo differ Binary files old/newt-0.52.21/po/ga.mo and new/newt-0.52.23/po/ga.mo differ Binary files old/newt-0.52.21/po/gl.mo and new/newt-0.52.23/po/gl.mo differ Binary files old/newt-0.52.21/po/gu.mo and new/newt-0.52.23/po/gu.mo differ Binary files old/newt-0.52.21/po/he.mo and new/newt-0.52.23/po/he.mo differ Binary files old/newt-0.52.21/po/hi.mo and new/newt-0.52.23/po/hi.mo differ Binary files old/newt-0.52.21/po/hr.mo and new/newt-0.52.23/po/hr.mo differ Binary files old/newt-0.52.21/po/hu.mo and new/newt-0.52.23/po/hu.mo differ Binary files old/newt-0.52.21/po/ia.mo and new/newt-0.52.23/po/ia.mo differ Binary files old/newt-0.52.21/po/id.mo and new/newt-0.52.23/po/id.mo differ Binary files old/newt-0.52.21/po/it.mo and new/newt-0.52.23/po/it.mo differ Binary files old/newt-0.52.21/po/ja.mo and new/newt-0.52.23/po/ja.mo differ Binary files old/newt-0.52.21/po/ka.mo and new/newt-0.52.23/po/ka.mo differ Binary files old/newt-0.52.21/po/km.mo and new/newt-0.52.23/po/km.mo differ Binary files old/newt-0.52.21/po/kn.mo and new/newt-0.52.23/po/kn.mo differ Binary files old/newt-0.52.21/po/ko.mo and new/newt-0.52.23/po/ko.mo differ Binary files old/newt-0.52.21/po/ku.mo and new/newt-0.52.23/po/ku.mo differ Binary files old/newt-0.52.21/po/lt.mo and new/newt-0.52.23/po/lt.mo differ Binary files old/newt-0.52.21/po/lv.mo and new/newt-0.52.23/po/lv.mo differ Binary files old/newt-0.52.21/po/mg.mo and new/newt-0.52.23/po/mg.mo differ Binary files old/newt-0.52.21/po/mk.mo and new/newt-0.52.23/po/mk.mo differ Binary files old/newt-0.52.21/po/ml.mo and new/newt-0.52.23/po/ml.mo differ Binary files old/newt-0.52.21/po/mr.mo and new/newt-0.52.23/po/mr.mo differ Binary files old/newt-0.52.21/po/ms.mo and new/newt-0.52.23/po/ms.mo differ Binary files old/newt-0.52.21/po/nb.mo and new/newt-0.52.23/po/nb.mo differ Binary files old/newt-0.52.21/po/nds.mo and new/newt-0.52.23/po/nds.mo differ Binary files old/newt-0.52.21/po/ne.mo and new/newt-0.52.23/po/ne.mo differ Binary files old/newt-0.52.21/po/nl.mo and new/newt-0.52.23/po/nl.mo differ Binary files old/newt-0.52.21/po/nn.mo and new/newt-0.52.23/po/nn.mo differ Binary files old/newt-0.52.21/po/pa.mo and new/newt-0.52.23/po/pa.mo differ Binary files old/newt-0.52.21/po/pl.mo and new/newt-0.52.23/po/pl.mo differ Binary files old/newt-0.52.21/po/pt.mo and new/newt-0.52.23/po/pt.mo differ Binary files old/newt-0.52.21/po/pt_BR.mo and new/newt-0.52.23/po/pt_BR.mo differ Binary files old/newt-0.52.21/po/ro.mo and new/newt-0.52.23/po/ro.mo differ Binary files old/newt-0.52.21/po/ru.mo and new/newt-0.52.23/po/ru.mo differ Binary files old/newt-0.52.21/po/sk.mo and new/newt-0.52.23/po/sk.mo differ Binary files old/newt-0.52.21/po/sl.mo and new/newt-0.52.23/po/sl.mo differ Binary files old/newt-0.52.21/po/sq.mo and new/newt-0.52.23/po/sq.mo differ Binary files old/newt-0.52.21/po/sr.mo and new/newt-0.52.23/po/sr.mo differ Binary files old/newt-0.52.21/po/[email protected] and new/newt-0.52.23/po/[email protected] differ Binary files old/newt-0.52.21/po/sv.mo and new/newt-0.52.23/po/sv.mo differ Binary files old/newt-0.52.21/po/ta.mo and new/newt-0.52.23/po/ta.mo differ Binary files old/newt-0.52.21/po/te.mo and new/newt-0.52.23/po/te.mo differ Binary files old/newt-0.52.21/po/tg.mo and new/newt-0.52.23/po/tg.mo differ Binary files old/newt-0.52.21/po/th.mo and new/newt-0.52.23/po/th.mo differ Binary files old/newt-0.52.21/po/tl.mo and new/newt-0.52.23/po/tl.mo differ Binary files old/newt-0.52.21/po/tr.mo and new/newt-0.52.23/po/tr.mo differ Binary files old/newt-0.52.21/po/uk.mo and new/newt-0.52.23/po/uk.mo differ Binary files old/newt-0.52.21/po/vi.mo and new/newt-0.52.23/po/vi.mo differ Binary files old/newt-0.52.21/po/wo.mo and new/newt-0.52.23/po/wo.mo differ Binary files old/newt-0.52.21/po/xh.mo and new/newt-0.52.23/po/xh.mo differ Binary files old/newt-0.52.21/po/zh_CN.mo and new/newt-0.52.23/po/zh_CN.mo differ Binary files old/newt-0.52.21/po/zh_TW.mo and new/newt-0.52.23/po/zh_TW.mo differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/newt-0.52.21/whiptail.1 new/newt-0.52.23/whiptail.1 --- old/newt-0.52.21/whiptail.1 2019-05-27 14:57:40.000000000 +0200 +++ new/newt-0.52.23/whiptail.1 2022-11-29 12:04:29.000000000 +0100 @@ -290,6 +290,11 @@ dash, whiptail honours the getopt convention of accepting the special argument "\-\-" which means that all following arguments with dashes are to be treated verbatim and not parsed as options. + +If the specified height, width, or menu/list-height is zero, +.BR whiptail +will increase the values as needed in order to display all information. + .SH DIAGNOSTICS Exit status is 0 if .BR whiptail " is exited by pressing the " Yes " or " OK diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/newt-0.52.21/whiptail.c new/newt-0.52.23/whiptail.c --- old/newt-0.52.21/whiptail.c 2019-05-27 14:57:40.000000000 +0200 +++ new/newt-0.52.23/whiptail.c 2022-11-29 12:04:29.000000000 +0100 @@ -199,49 +199,53 @@ } } -static int menuSize(int * height, int * width, enum mode mode, - poptContext options) { +static int menuSize(int * height, int * width, int * listHeight, + enum mode mode, int * flags, poptContext options) { const char ** argv = poptGetArgs(options); - const char ** items = argv; int h = 0; int tagWidth = 0; int descriptionWidth = 0; int overhead = 10; - static char buf[20]; if ( argv == 0 || *argv == 0 ) return 0; - argv++; if ( mode == MODE_MENU ) overhead = 5; while ( argv[0] != 0 && argv[1] ) { - tagWidth = max(tagWidth, strlen(argv[0])); - descriptionWidth = max(descriptionWidth, strlen(argv[1])); + tagWidth = max(tagWidth, _newt_wstrlen(argv[0], -1)); + descriptionWidth = max(descriptionWidth, _newt_wstrlen(argv[1], -1)); - if ( mode == MODE_MENU ) + if (mode == MODE_MENU || *flags & FLAG_NOITEM) argv += 2; else argv += 3; h++; } + if (*flags & FLAG_NOTAGS) { + tagWidth = 0; + overhead -= mode == MODE_MENU ? 1 : 2; + } + if (*flags & FLAG_NOITEM) { + descriptionWidth = 0; + } + *width = max(*width, tagWidth + descriptionWidth + overhead); *width = min(*width, SLtt_Screen_Cols); h = min(h, SLtt_Screen_Rows - *height - 4); *height = *height + h + 1; - sprintf(buf, "%d", h); - *items = buf; + *listHeight = h; return 0; } /* * Guess the size of a window, given what will be displayed within it. */ -static void guessSize(int * height, int * width, enum mode mode, - int * flags, int fullButtons, +static void guessSize(int * height, int * width, int * listHeight, + enum mode mode, int * flags, int fullButtons, const char * title, const char * text, poptContext options) { @@ -259,9 +263,11 @@ case MODE_MENU: spaceForButtons(&h, &w, *flags & FLAG_NOCANCEL ? 1 : 2, fullButtons); - menuSize(&h, &w, mode, options); + menuSize(&h, &w, listHeight, mode, flags, options); break; case MODE_YESNO: + spaceForButtons(&h, &w, 2, fullButtons); + break; case MODE_MSGBOX: spaceForButtons(&h, &w, 1, fullButtons); break; @@ -332,6 +338,7 @@ char * end; int height; int width; + int listHeight = 1; int fd = -1; int needSpace = 0; int noCancel = 0; @@ -346,7 +353,7 @@ int fullButtons = 0; int outputfd = 2; int topLeft = 0; - FILE *output = stderr; + FILE *output; char * result; char ** selections, ** next; char * title = NULL; @@ -499,7 +506,16 @@ width = strtoul(nextArg, &end, 10); if (*end) usage(WAS_ERROR); - if (mode == MODE_GAUGE) { + switch (mode) { + case MODE_MENU: + case MODE_RADIOLIST: + case MODE_CHECKLIST: + if (!(nextArg = poptGetArg(optCon))) usage(WAS_ERROR); + listHeight = strtoul(nextArg, &end, 10); + if (*end) usage(WAS_ERROR); + break; + + case MODE_GAUGE: fd = dup(0); if (fd < 0 || close(0) < 0) { perror("dup/close stdin"); @@ -509,16 +525,30 @@ perror("open /dev/tty"); exit(DLG_ERROR); } + break; } + if (noCancel) flags |= FLAG_NOCANCEL; + if (noItem) flags |= FLAG_NOITEM; + if (noTags) flags |= FLAG_NOTAGS; + if (scrollText) flags |= FLAG_SCROLL_TEXT; + if (defaultNo) flags |= FLAG_DEFAULT_NO; + newtInit(); newtCls(); cleanNewlines(text); - if ( height <= 0 || width <= 0 ) - guessSize(&height, &width, mode, &flags, fullButtons, title, text, - optCon); + if (height <= 0 || width <= 0 || listHeight <= 0) { + guessSize(&height, &width, &listHeight, mode, &flags, fullButtons, + title, text, optCon); + if (!topLeft && backtitle && SLtt_Screen_Rows > 10 && + height + 1 == SLtt_Screen_Rows && + _newt_wstrlen(backtitle, -1) > (SLtt_Screen_Cols - width) / 2) { + height -= 1; + listHeight -= 1; + } + } width -= 2; height -= 2; @@ -537,12 +567,6 @@ if (no_button) setButtonText(no_button, BUTTON_NO); - if (noCancel) flags |= FLAG_NOCANCEL; - if (noItem) flags |= FLAG_NOITEM; - if (noTags) flags |= FLAG_NOTAGS; - if (scrollText) flags |= FLAG_SCROLL_TEXT; - if (defaultNo) flags |= FLAG_DEFAULT_NO; - switch (mode) { case MODE_MSGBOX: case MODE_TEXTBOX: @@ -575,7 +599,7 @@ break; case MODE_MENU: - rc = listBox(text, height, width, optCon, flags, default_item, &result); + rc = listBox(text, height, width, listHeight, optCon, flags, default_item, &result); if (rc == DLG_OKAY) { fprintf(output, "%s", result); free(result); @@ -583,7 +607,7 @@ break; case MODE_RADIOLIST: - rc = checkList(text, height, width, optCon, 1, flags, &selections); + rc = checkList(text, height, width, listHeight, optCon, 1, flags, &selections); if (rc == DLG_OKAY && selections[0]) { fprintf(output, "%s", selections[0]); free(selections[0]); @@ -592,7 +616,7 @@ break; case MODE_CHECKLIST: - rc = checkList(text, height, width, optCon, 0, flags, &selections); + rc = checkList(text, height, width, listHeight, optCon, 0, flags, &selections); if (!rc) { for (next = selections; *next; next++) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/newt-0.52.21/whiptcl.c new/newt-0.52.23/whiptcl.c --- old/newt-0.52.21/whiptcl.c 2019-05-27 14:57:40.000000000 +0200 +++ new/newt-0.52.23/whiptcl.c 2022-11-29 12:04:29.000000000 +0100 @@ -65,6 +65,7 @@ char * end; int height; int width; + int listHeight; int noCancel = 0; int noItem = 0; int scrollText = 0; @@ -179,6 +180,22 @@ return TCL_ERROR; } + switch (mode) { + case MODE_MENU: + case MODE_RADIOLIST: + case MODE_CHECKLIST: + if (!(nextArg = poptGetArg(optCon))) { + interp->result = "list-height missing"; + return TCL_ERROR; + } + listHeight = strtoul(nextArg, &end, 10); + if (*end) { + interp->result = "list-height is not a number"; + return TCL_ERROR; + } + break; + } + width -= 2; height -= 2; newtOpenWindow((80 - width) / 2, (24 - height) / 2, width, height, title); @@ -211,7 +228,8 @@ break; case MODE_MENU: - rc = listBox(text, height, width, optCon, flags, default_item, &result); + rc = listBox(text, height, width, listHeight, optCon, flags, default_item, + &result); if (rc==DLG_OKAY) { interp->result = result; interp->freeProc = TCL_DYNAMIC; @@ -219,7 +237,8 @@ break; case MODE_RADIOLIST: - rc = checkList(text, height, width, optCon, 1, flags, &selections); + rc = checkList(text, height, width, listHeight, optCon, 1, flags, + &selections); if (rc==DLG_OKAY) { interp->result = selections[0]; interp->freeProc = TCL_DYNAMIC; @@ -229,7 +248,8 @@ break; case MODE_CHECKLIST: - rc = checkList(text, height, width, optCon, 0, flags, &selections); + rc = checkList(text, height, width, listHeight, optCon, 0, flags, + &selections); if (rc==DLG_OKAY) { for (next = selections; *next; next++) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/newt-0.52.21/windows.c new/newt-0.52.23/windows.c --- old/newt-0.52.21/windows.c 2019-05-27 14:57:40.000000000 +0200 +++ new/newt-0.52.23/windows.c 2022-11-29 12:04:29.000000000 +0100 @@ -220,7 +220,6 @@ for (numItems = 0; items[numItems].text; numItems++); - buttonName = button1; va_start(args, button1); for (buttonName = button1; buttonName; buttonName = va_arg(args, char *)) ++totalButtons;
