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;                                                        

Reply via email to