Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package perl-Curses for openSUSE:Factory checked in at 2022-08-24 15:11:28 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Curses (Old) and /work/SRC/openSUSE:Factory/.perl-Curses.new.2083 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Curses" Wed Aug 24 15:11:28 2022 rev:32 rq:998916 version:1.41 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Curses/perl-Curses.changes 2022-08-16 17:58:07.754926843 +0200 +++ /work/SRC/openSUSE:Factory/.perl-Curses.new.2083/perl-Curses.changes 2022-08-24 15:11:52.184545428 +0200 @@ -1,0 +2,6 @@ +Fri Aug 19 03:06:56 UTC 2022 - Tina M??ller <timueller+p...@suse.de> + +- updated to 1.41 + see /usr/share/doc/packages/perl-Curses/ChangeLog + +------------------------------------------------------------------- Old: ---- Curses-1.39.tar.gz New: ---- Curses-1.41.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Curses.spec ++++++ --- /var/tmp/diff_new_pack.FL2386/_old 2022-08-24 15:11:52.652545880 +0200 +++ /var/tmp/diff_new_pack.FL2386/_new 2022-08-24 15:11:52.664545891 +0200 @@ -18,7 +18,7 @@ %define cpan_name Curses Name: perl-Curses -Version: 1.39 +Version: 1.41 Release: 0 License: Artistic-1.0 OR GPL-1.0-or-later Summary: Terminal screen handling and optimization @@ -64,7 +64,7 @@ %perl_gen_filelist %files -f %{name}.files -%doc demo demo2 demo.form demo.menu demo.panel gdc gen.tar HISTORY list.syms MAINTENANCE README testcurses test.syms +%doc ChangeLog demo demo2 demo.form demo.menu demo.panel gdc gen.tar HISTORY list.syms MAINTENANCE README testcurses test.syms %license Artistic Copying %changelog ++++++ Curses-1.39.tar.gz -> Curses-1.41.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Curses-1.39/ChangeLog new/Curses-1.41/ChangeLog --- old/Curses-1.39/ChangeLog 1970-01-01 01:00:00.000000000 +0100 +++ new/Curses-1.41/ChangeLog 2022-08-18 18:05:19.000000000 +0200 @@ -0,0 +1,352 @@ +This is the list of changes in each release. For general historical +information, see the file 'HISTORY'. + +Note that the filename "ChangeLog" is recognized by the CPAN machinery as the +name of a change log. + +New in 1.41 (Released August 18, 2022) + + Fix bug in previous release causing non-GNU make to fail. + +New in 1.40 (Released August 17, 2022) + + Make passes make variables to 'test.syms' in environment instead of + 'test.syms' reading and trying to interpret the make file. This makes it + possible to override e.g. LDLOADLIBS on the make command line. Also makes + it less icky. + + Fix compile errors in cdemo.c: 'sleep' not defined, argument count is not + type int. + + Fix make file for cdemo so it doesn't use the Perl compile rule for cdemo.o. + + Split ChangeLog file out of HISTORY file. + +New in 1.39 (Released August 11, 2022) + + Add #include <stdbool.h> to top of Curses.c to fix a conflict between the + Curses header files and Perl header files that causes a "loadable library + and perl binaries are mismatched" / handshake key failure when you try to + load the Perl module. + +New in 1.38 (Released July 26, 2021) + + Fix compilation failure with some compilers, including AIX's because + _XOPEN_SOURCE_EXTENDED was defined with null value. + +New in 1.37 (Released October 3, 2020) + + Fix printw for wide characters. + + Fix bug: wenclose() and mouse_trafo() treat an integer as a boolean. The + functional effect is they return true if they fail to do the window move (I + don't understand this - there's some kind of window move that is part of + every function). False is better. + +New in 1.36 (Released August 14, 2016) + + Fix the GNU Hurd thing from 1.35 by including the hints file in the + manifest. + +New in 1.35 (Released July 11, 2016) + + Added hints file for GNU Hurd ($OSNAME == 'gnu'). From Pino Toscano. + +New in 1.34 (Released April 2, 2016) + + Several bugs fixed in demo programs (which also function as the + documentation) for forms and menus and comments added explaining need to + keep Perl variables around to avoid invalid memory references. + +New in 1.33 (Released October 3, 2015) + + Package contains META files. + +New in 1.32 (Released August 9, 2014) + + Makefile.PL: if /usr/include/ncurses/ncurses.h exists, use Ncurses regardless + of what the $guess_cfg table says for the OS at hand. This fixes the former + hybrid approach which didn't work for a Solaris 11 system that has both + Ncurses and BSD curses. + + Typographical error in documentation fixed. + +New in 1.31 (Released April 26, 2014) + + Fix compile failure with some Curses libraries, introduced in + 1.29 - undefined KEY_CODE_YES. + + Fix documentation: wide character functions exist back to Perl 5.6, + not 5.16. + +New in 1.30 (Released April 19, 2014) + + Fix build failure: Use older substitutes if Perl is too old to have + the 'utf8_to_uvchr_buf' function they use; don't include the wide character + functions if Perl is even too old to have the substitutes. Broken in 1.29. + + Fix "constant not provided by your vendor" message when you refer to a + function that does not exist in the Curses module. + + Minor fixes to documentation of new wide character functions. + + Fix warning about extra argument to c_setmevent . + + Fix documentation for "not defined in your Curses library" errors. + (broken in 1.28). + + Fix demo programs' recognition of "not defined in your Curses library" + errors (broken in 1.28). + +New in 1.29 (Released April 6, 2014) + + Add an alternate set of functions (getchar, ungetchar, getstring, + instring, addstring, insstring) providing a more Perl-like interface, + converting from and to Perl strings (instead of passing data to the C + library verbatim) and using wide character functions if available in the + underlying curses library. + + Written by Edgar Fu?, Mathematisches Institut der Uni Bonn, + <e...@math.uni-bonn.de> + +New in 1.28 (Released January 27, 2010) + + Disable Curses::Var::STORE. It doesn't work (doesn't even compile) with + newer Ncurses (due to updates to make Ncurses reentrant). One can + re-enable it by defining ALLOW_VARS_STORE in c-config.h. + + Improve "not provided by your vendor" message. + +New in 1.27 (Released January 20, 2009) + + Extraneous .i and .s files in 1.26 removed. 'make clean' cleans all + .i and .s too. + + 'gen' directory is replaced by gen.tar file, so CPAN doesn't index + the stuff in there. That directory is stuff for developing the Curses + package, not stuff for users. + +New in 1.26 (Released January 3, 2009) + + newterm() is available and putwin() and getwin() work in newer Perl (with + PerlIO). We now use PerlIO_findFile(). + +1.25 doesn't exist (The name got burned in a CPAN upload mistake). + +New in 1.24 (Released September 10, 2008) + + Export KEY_RESIZE, KEY_EVENT. + + For Netbsd, allow both Netbsd and BSD guesses via CURSES_LIBTYPE, + and default to Ncurses. Used to guess only BSD. From Ulrich Habel + rh...@netbsd.org . + + Add guess capability for Dragonfly. From Ulrich Habel + rh...@netbsd.org . + +New in 1.23 (Released March 9, 2008) + + Fix crash of Makefile.PL on Windows. + +New in 1.22 (Released February 29, 2008) + + Nothing. Just a packaging fix. + +New in 1.21 (Released February 15, 2008) + + Don't undefine 'bool' macro in c-darwin hints file. + +New in 1.20 (Released November 19, 2007) + + Fix missing comment delimiter. + +New in 1.19 (Released November 18, 2007) + + Make it work on 5.005 again, using ppport.h (Devel::PPPort). + From Slaven Rezic - slaven <at> rezic <dot> de . + + Fix uninitialized value in Makefile.PL on a system without BSD Curses or + Ncurses in a common place. + + Reverse change to chgat() in 1.16. Make expected argument count 4. + +There was never a 1.18 release; problems with PAUSE prevent using that +release number. + +New in 1.17 (Released October 14, 2007) + + Fix bug - can't find c-config.h on a system with ncursesw. + + Make cdemo work on Windows. + + Don't undefine SP macro with Pdcurses. (Otherwise it won't compile; + don't know why we used to undefine SP). + + In Windows hints file, #include curses.h instead of pdcurses.h. It + seems to be called curses.h these days. + +New in 1.16 (August 7, 2007) + + Use Ncursesw (Ncurses with wide character functions) instead of + Ncurses if available. + + Undefine "tab" macro, defined by Curses header file. It interferes + with perl.h. + + Fix demo.form to use L! instead of J in the pack template that generates + the new_form() argument. Apparently, J is something from older Perl + and doesn't exist in current Perl. + + Put some documentation of the library in comments in demo.form. + + Use L! instead of I in the pack template in demo.menu. + + Change SvPV(X,PL_na) to SvPV_nolen(X) to get with the times. + + Change #!/usr/local/bin/perl to #! /usr/bin/perl . + + Fix bug: chgat() requires an extra, meaningless, argument. Fix changes + expected argument count from 4 to 3. + +New in 1.15 (October 8, 2006) + + Add a simple load test 00-load.t. + + Makefile.PL: use cdemo.obj instead of cdemo.o on Windows. + + Makefile.PL: Guess ncurses/bsd based on what .h files exist. + + Fix bug in Makefile.PL: doesn't use curses type in guess at c-config.h + (e.g. tries to use c-freebsd.h when it should use c-freebsd.bsd.h). + + Change all sv_isa() to sv_derived_from() so you can use subclasses. + Thanks Leigh <leighbr...@hsbc.com>. + + Rename default Darwin (Mac OS X) hints file (ca 2001) to c-darwin.old, and + the newer one ca 2004) to c-darwin.old so as to be the default. We're + guessing that the newer one applies to more systems today. + +New in 1.14 (June 3, 2006) + + Make demo.form work on 64 bit machine. + + Add some narration to Makefile.PL to help with diagnosis. + + Move undef of 'instr' from individual hint files to Curses.c and add + explanation. + + Use perl -w instead of 'use warnings' in Makefile.PL so it works with + older Perl. + +New in 1.13 (October 10, 2005) + + Fix so it builds on current Cygwin. + + Some kind of build fix to get panels, forms, and menu functions to build. + +New in 1.12 (March 17, 2005) + + Build bug fixed: panel, forms, menu libs not found in build. + + Build bug fixed: Curses.pm treats version as number, so 1.10 == 1.1 . + +New in 1.11 (March 12, 2005) + + Various cleanup and improved diagnostics in the build. + +New in 1.10 (March 11, 2005) + + Build bug fixed: Makefile has undefined variable $libtyp. + + Build bug fixed: Makefile computes wrong guess hint file name. + +New in 1.09 (March 6, 2005) + + - Makefile.PL searches for curses header files instead of assuming + based on $OSNAME. + + - Makefile.PL warns user to reconfigure environment when form.h is + in /usr/include rather than just add -I/usr/include to the compile + (this concerns the problem with the conflicting Perl form.h file). + +New in 1.08 (November 2004) + + - perl.syms more verbose so you can diagnose failures. + + - You can use environment variables instead of modifying Makefile.PL + to set your -I, -L, etc. options for the Curses libraries. + + - c-linux.ncurses.h hints file includes ncurses.h, not curses.h. + + - New c-darwin-thread-multi-2level.h hints file. + +New in 1.07 (September 2004) + + - Call to Perl_sv_isa() changed to sv_isa() because the former doesn't + work on some systems (causes a build failure). + +New in 1.06 (July 2001) + + o Now requires perl5.005 or better to run. (You can probably run it + in perl5.002-perl5.004 by grabbing newCONSTSUB out of the IO + distribution on CPAN and editing all uses of "foreach my $var" in + my perl scripts.) + + o Did lots of fiddling with the file generation in an effort to make + it more comprehensible. In doing so, I moved around the way some + things were done and probably broke it on some systems with weird + compilers. Please let me know. + + o changed the "Curses->new()" function to be a bit less clever. + + o Works with libmenu! Many thanks to Yury Pshenichny <yura at zp.ua> + who did most of the actual work. + + Update: Well, sort of works. For some reason beyond my ken, it + doesn't work with Solaris (2.6) libmenu. (The items won't attach to + the menu.) ncurses menu, both 1.9.9 and 5.2, seem to work fine. + + o Works with libform too. Ho hum. ;) This one does appear to + work with Solaris libform. + + o Added the following ncurses extension functions: + + use_default_colors() + assume_default_colors() + define_key() + keybound() + keyok() + resizeterm() + + (Thanks to neild at misago.org, hans at kolej.mff.cuni.cz) + + o Re-enabled the functions: + + attr_get() + attr_off() + attr_on() + attr_set() + + o Between the functions exposed and the functions listed in the + pod as not exposeded, those are all the ones I know about. + Got any more? Let me know. + + o Fixed 64 bit issue with getch() and possibly others, truncating + returns of `chtype' to 32 bits. Note that this could possibly + break some OSes. Please let me know. + (Thanks to Randall.G.Steiner at bankofamerica.com) + + o Fixed bug where @ARGV was always being cleared, and so no arguments + ever got to MakeMaker. + (Thanks to bdlow at nortelnetworks.com) + + o Added hints for Darwin/Mac OS X system. + (Thanks to sdietrich at emlab.com) + + o Added note to NETBSD users at the bottom of this README. + + o Added a security notice to the README and pod. + (Thanks to connor at ing.umu.se) + + o Has anyone successfully used the mouse event stuff? + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Curses-1.39/Curses.pm new/Curses-1.41/Curses.pm --- old/Curses-1.39/Curses.pm 2022-08-05 04:43:50.000000000 +0200 +++ new/Curses-1.41/Curses.pm 2022-08-18 18:04:08.000000000 +0200 @@ -51,7 +51,7 @@ package Curses; -$VERSION = '1.39'; # Makefile.PL picks this up +$VERSION = '1.41'; # Makefile.PL picks this up use Carp; require Exporter; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Curses-1.39/HISTORY new/Curses-1.41/HISTORY --- old/Curses-1.39/HISTORY 2022-08-12 01:33:58.000000000 +0200 +++ new/Curses-1.41/HISTORY 2022-08-16 06:07:11.000000000 +0200 @@ -1,341 +1,15 @@ -The Curses Perl module was created by William Setzer (William_Setzer -at ncsu.edu) in 1994. William maintained it up until July 2001, when he -stopped having time to do so. +The Curses Perl module was created by William Setzer (William_Setzer at +ncsu.edu) in 1994. William maintained it up until July 2001, when he stopped +having time to do so. In September 2004, Bryan Henderson (bry...@giraffe-data.com) took over -maintainership of it, after confirming with William that he did not -plan to continue. +maintainership of it, after confirming with William that he did not plan to +continue. The module has always been distributed via CPAN. Curses itself is much older than the Perl implementation. Curses was originally only a C programming library. -New in 1.39 (Released August 12, 2022) - - Add #include <stdbool.h> to top of Curses.c to fix a conflict between the - Curses header files and Perl header files that causes a "loadable library - and perl binaries are mismatched" / handshake key failure when you try to - load the Perl module. - -New in 1.38 (Released July 26, 2021) - - Fix compilation failure with some compilers, including AIX's because - _XOPEN_SOURCE_EXTENDED was defined with null value. - -New in 1.37 (Released October 3, 2020) - - Fix printw for wide characters. - - Fix bug: wenclose() and mouse_trafo() treat an integer as a boolean. The - functional effect is they return true if they fail to do the window move (I - don't understand this - there's some kind of window move that is part of - every function). False is better. - -New in 1.36 (Released August 14, 2016) - - Fix the GNU Hurd thing from 1.35 by including the hints file in the - manifest. - -New in 1.35 (Released July 11, 2016) - - Added hints file for GNU Hurd ($OSNAME == 'gnu'). From Pino Toscano. - -New in 1.34 (Released April 2, 2016) - - Several bugs fixed in demo programs (which also function as the - documentation) for forms and menus and comments added explaining need to - keep Perl variables around to avoid invalid memory references. - -New in 1.33 (Released October 3, 2015) - - Package contains META files. - -New in 1.32 (Released August 9, 2014) - - Makefile.PL: if /usr/include/ncurses/ncurses.h exists, use Ncurses regardless - of what the $guess_cfg table says for the OS at hand. This fixes the former - hybrid approach which didn't work for a Solaris 11 system that has both - Ncurses and BSD curses. - - Typographical error in documentation fixed. - -New in 1.31 (Released April 26, 2014) - - Fix compile failure with some Curses libraries, introduced in - 1.29 - undefined KEY_CODE_YES. - - Fix documentation: wide character functions exist back to Perl 5.6, - not 5.16. - -New in 1.30 (Released April 19, 2014) - - Fix build failure: Use older substitutes if Perl is too old to have - the 'utf8_to_uvchr_buf' function they use; don't include the wide character - functions if Perl is even too old to have the substitutes. Broken in 1.29. - - Fix "constant not provided by your vendor" message when you refer to a - function that does not exist in the Curses module. - - Minor fixes to documentation of new wide character functions. - - Fix warning about extra argument to c_setmevent . - - Fix documentation for "not defined in your Curses library" errors. - (broken in 1.28). - - Fix demo programs' recognition of "not defined in your Curses library" - errors (broken in 1.28). - -New in 1.29 (Released April 6, 2014) - - Add an alternate set of functions (getchar, ungetchar, getstring, - instring, addstring, insstring) providing a more Perl-like interface, - converting from and to Perl strings (instead of passing data to the C - library verbatim) and using wide character functions if available in the - underlying curses library. - - Written by Edgar Fu??, Mathematisches Institut der Uni Bonn, - <e...@math.uni-bonn.de> - -New in 1.28 (Released January 27, 2010) - - Disable Curses::Var::STORE. It doesn't work (doesn't even compile) with - newer Ncurses (due to updates to make Ncurses reentrant). One can - re-enable it by defining ALLOW_VARS_STORE in c-config.h. - - Improve "not provided by your vendor" message. - -New in 1.27 (Released January 20, 2009) - - Extraneous .i and .s files in 1.26 removed. 'make clean' cleans all - .i and .s too. - - 'gen' directory is replaced by gen.tar file, so CPAN doesn't index - the stuff in there. That directory is stuff for developing the Curses - package, not stuff for users. - -New in 1.26 (Released January 3, 2009) - - newterm() is available and putwin() and getwin() work in newer Perl (with - PerlIO). We now use PerlIO_findFile(). - -1.25 doesn't exist (The name got burned in a CPAN upload mistake). - -New in 1.24 (Released September 10, 2008) - - Export KEY_RESIZE, KEY_EVENT. - - For Netbsd, allow both Netbsd and BSD guesses via CURSES_LIBTYPE, - and default to Ncurses. Used to guess only BSD. From Ulrich Habel - rh...@netbsd.org . - - Add guess capability for Dragonfly. From Ulrich Habel - rh...@netbsd.org . - -New in 1.23 (Released March 9, 2008) - - Fix crash of Makefile.PL on Windows. - -New in 1.22 (Released February 29, 2008) - - Nothing. Just a packaging fix. - -New in 1.21 (Released February 15, 2008) - - Don't undefine 'bool' macro in c-darwin hints file. - -New in 1.20 (Released November 19, 2007) - - Fix missing comment delimiter. - -New in 1.19 (Released November 18, 2007) - - Make it work on 5.005 again, using ppport.h (Devel::PPPort). - From Slaven Rezic - slaven <at> rezic <dot> de . - - Fix uninitialized value in Makefile.PL on a system without BSD Curses or - Ncurses in a common place. - - Reverse change to chgat() in 1.16. Make expected argument count 4. - -There was never a 1.18 release; problems with PAUSE prevent using that -release number. - -New in 1.17 (Released October 14, 2007) - - Fix bug - can't find c-config.h on a system with ncursesw. - - Make cdemo work on Windows. - - Don't undefine SP macro with Pdcurses. (Otherwise it won't compile; - don't know why we used to undefine SP). - - In Windows hints file, #include curses.h instead of pdcurses.h. It - seems to be called curses.h these days. - -New in 1.16 (August 7, 2007) - - Use Ncursesw (Ncurses with wide character functions) instead of - Ncurses if available. - - Undefine "tab" macro, defined by Curses header file. It interferes - with perl.h. - - Fix demo.form to use L! instead of J in the pack template that generates - the new_form() argument. Apparently, J is something from older Perl - and doesn't exist in current Perl. - - Put some documentation of the library in comments in demo.form. - - Use L! instead of I in the pack template in demo.menu. - - Change SvPV(X,PL_na) to SvPV_nolen(X) to get with the times. - - Change #!/usr/local/bin/perl to #! /usr/bin/perl . - - Fix bug: chgat() requires an extra, meaningless, argument. Fix changes - expected argument count from 4 to 3. - -New in 1.15 (October 8, 2006) - - Add a simple load test 00-load.t. - - Makefile.PL: use cdemo.obj instead of cdemo.o on Windows. - - Makefile.PL: Guess ncurses/bsd based on what .h files exist. - - Fix bug in Makefile.PL: doesn't use curses type in guess at c-config.h - (e.g. tries to use c-freebsd.h when it should use c-freebsd.bsd.h). - - Change all sv_isa() to sv_derived_from() so you can use subclasses. - Thanks Leigh <leighbr...@hsbc.com>. - - Rename default Darwin (Mac OS X) hints file (ca 2001) to c-darwin.old, and - the newer one ca 2004) to c-darwin.old so as to be the default. We're - guessing that the newer one applies to more systems today. - -New in 1.14 (June 3, 2006) - - Make demo.form work on 64 bit machine. - - Add some narration to Makefile.PL to help with diagnosis. - - Move undef of 'instr' from individual hint files to Curses.c and add - explanation. - - Use perl -w instead of 'use warnings' in Makefile.PL so it works with - older Perl. - -New in 1.13 (October 10, 2005) - - Fix so it builds on current Cygwin. - - Some kind of build fix to get panels, forms, and menu functions to build. - -New in 1.12 (March 17, 2005) - - Build bug fixed: panel, forms, menu libs not found in build. - - Build bug fixed: Curses.pm treats version as number, so 1.10 == 1.1 . - -New in 1.11 (March 12, 2005) - - Various cleanup and improved diagnostics in the build. - -New in 1.10 (March 11, 2005) - - Build bug fixed: Makefile has undefined variable $libtyp. - - Build bug fixed: Makefile computes wrong guess hint file name. - -New in 1.09 (March 6, 2005) - - - Makefile.PL searches for curses header files instead of assuming - based on $OSNAME. - - - Makefile.PL warns user to reconfigure environment when form.h is - in /usr/include rather than just add -I/usr/include to the compile - (this concerns the problem with the conflicting Perl form.h file). - -New in 1.08 (November 2004) - - - perl.syms more verbose so you can diagnose failures. - - - You can use environment variables instead of modifying Makefile.PL - to set your -I, -L, etc. options for the Curses libraries. - - - c-linux.ncurses.h hints file includes ncurses.h, not curses.h. - - - New c-darwin-thread-multi-2level.h hints file. - -New in 1.07 (September 2004) - - - Call to Perl_sv_isa() changed to sv_isa() because the former doesn't - work on some systems (causes a build failure). - -New in 1.06 (July 2001) - - o Now requires perl5.005 or better to run. (You can probably run it - in perl5.002-perl5.004 by grabbing newCONSTSUB out of the IO - distribution on CPAN and editing all uses of "foreach my $var" in - my perl scripts.) - - o Did lots of fiddling with the file generation in an effort to make - it more comprehensible. In doing so, I moved around the way some - things were done and probably broke it on some systems with weird - compilers. Please let me know. - - o changed the "Curses->new()" function to be a bit less clever. - - o Works with libmenu! Many thanks to Yury Pshenichny <yura at zp.ua> - who did most of the actual work. - - Update: Well, sort of works. For some reason beyond my ken, it - doesn't work with Solaris (2.6) libmenu. (The items won't attach to - the menu.) ncurses menu, both 1.9.9 and 5.2, seem to work fine. - - o Works with libform too. Ho hum. ;) This one does appear to - work with Solaris libform. - - o Added the following ncurses extension functions: - - use_default_colors() - assume_default_colors() - define_key() - keybound() - keyok() - resizeterm() - - (Thanks to neild at misago.org, hans at kolej.mff.cuni.cz) - - o Re-enabled the functions: - - attr_get() - attr_off() - attr_on() - attr_set() - - o Between the functions exposed and the functions listed in the - pod as not exposeded, those are all the ones I know about. - Got any more? Let me know. - - o Fixed 64 bit issue with getch() and possibly others, truncating - returns of `chtype' to 32 bits. Note that this could possibly - break some OSes. Please let me know. - (Thanks to Randall.G.Steiner at bankofamerica.com) - - o Fixed bug where @ARGV was always being cleared, and so no arguments - ever got to MakeMaker. - (Thanks to bdlow at nortelnetworks.com) - - o Added hints for Darwin/Mac OS X system. - (Thanks to sdietrich at emlab.com) - - o Added note to NETBSD users at the bottom of this README. - - o Added a security notice to the README and pod. - (Thanks to connor at ing.umu.se) - - o Has anyone successfully used the mouse event stuff? +See the file ChangeLog for the list of changes in each release. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Curses-1.39/INSTALL new/Curses-1.41/INSTALL --- old/Curses-1.39/INSTALL 2021-07-20 05:42:32.000000000 +0200 +++ new/Curses-1.41/INSTALL 2022-08-18 18:03:53.000000000 +0200 @@ -125,35 +125,29 @@ 6) make - `make' will first run a program called `test.syms' that investigates - what the Curses libraries are like on your system and records the - results in the file "CursesDef.h". - - test.syms is very brittle -- it works via test compiles, and if any - number of things goes wrong with the test compile, it makes bad - assumptions, usually that you don't have a certain function in your - Curses library. If test.syms tells you it can't find functions that - you think you have, run test.syms manually with the -v (verbose) option. - That will show you the error messages from the test compiles and you - can figure out what's going wrong and fix it. Typically, you'll find - that you need to do better on your CURSES_* environment variables - (see above). - - Alternatively, if you see that test.syms is picking the wrong - values, you can edit "CursesDef.h" by hand and follow the - directions. If you have to "roll your own", be sure to save a - copy. A "make clean" will delete "CursesDef.h". - - `make' will then try to compile "Curses.c". If you get any - undefined curses symbols, it means that your curses really doesn't - have those functions, and you should edit "CursesDef.h" and/or - "c-config.h" and change the #define to #undef for that function. - - If you get other compile errors, it is probably because the curses - include file and the perl include files are conflicting. You'll - have to figure out what's wrong and add proper C code to - "c-config.h". See "hints/c-sunos.sysv.h" for an example of how to - do this. + 'make' starts off by creating the file "CursesDef.h", by running the + program 'test.syms'. You will see hundreds of messages telling you which + functions it found in your system Curses library and which ones it didn't. + It is a very common build failure mode for it not to find any of the + functions. If you see that happening, stop and see TROUBLESHOOTING below. + + 'make' will then try to compile "Curses.c". If you get any undefined + curses symbols, it means that your curses really doesn't have those + functions, and you should edit "CursesDef.h" and/or "c-config.h" and change + the #define to #undef for that function. + + If you get other compile errors, it is probably because the curses include + file and the perl include files are conflicting. You'll have to figure out + what's wrong and add proper C code to "c-config.h". See + "hints/c-sunos.sysv.h" for an example of how to do this. + + We have seen a weird case in which the builder is unable to find the system + Curses library even though it is in the linker's default search path and + you give its name with CURSES_LDFLAGS. Until we figure out what causes + that, you can work around it by adding a LDLOADLIBS= argument to 'make'. + For a certain MacOS system in August 2022, this worked: + + $ make LDLOADLIBS=-lncurses 7) Test the distribution: @@ -166,22 +160,15 @@ "gdc" is a digital clock ported from the "ncurses" distribution. - As mentioned in the "README", the demo is not intended to be an - exhaustive test of all the possible Curses functions. If it - doesn't do all the functions correctly, it may be a Curses bug or - it may be a problem with your system's "libcurses.a". There's no - getting around the fact that you need to be conversant in how your - system's "libcurses.a" works to be able to use Curses most - effectively. - - For "demo", you can try: - - make cdemo - - This will try to compile a pure-C version of the "demo". If you - see the same errors in it that you see in "demo", it means there's - a bug in your libcurses. - + As mentioned in the "README", the demo is not intended to be an exhaustive + test of all the possible Curses functions. If it doesn't do all the + functions correctly, it may be a Curses bug or it may be a problem with + your system's "libcurses.a". There's no getting around the fact that you + need to be conversant in how your system's "libcurses.a" works to be able + to use Curses most effectively. + + If the tests fail, see TROUBLESHOOTING below. + 8) Doing a : make install @@ -198,6 +185,63 @@ particular libcurses.a or operating system. +TROUBLESHOOTING + + Virtually all failures people experience with the Curses module are due to + failures with the system Curses library (libcurses), so if "perl demo" + doesn't work, to isolate the problem, try running the program 'cdemo', + which does the same things from C, i.e. not inolving Perl at all. + + $ make cdemo + $ ./cdemo + + 'cdemo' is compiled from C, using the same compilation and linking options + as the Perl module. If it fails, then your problem has nothing to do with + Perl. + + When there is a problem with the system Curses library, it is almost always + that the build system didn't find it at all. That doesn't produce the nice + build error message you might expect, because the build system is designed + to deal with Curses libraries that are missing various functions, and when + it can't find the library at all, tends to proceed happily as if the + library is there but just missing _all_ the functions. You don't see a + problem until run time. + + But it is easy to see if your problem is a with the system Curses library + not being found. You'll see hundreds of messages when you run 'make' as + the builder investigates your system Curses library telling you that it's + not finding any of the Curses functions. + + The first thing 'make' does is create the file "CursesDef.h" by running the + program 'test.syms', which investigates what the Curses libraries are like + on your system. + + test.syms is very brittle -- it works via test compiles, and if any number + of things goes wrong with the test compile, it makes bad assumptions, + usually that you don't have a certain function in your Curses library. If + test.syms tells you it can't find functions that you think you have, run + the make with variable TEST_SYMS_OPTS set to "-v": + + $ make TEST_SYMS_OPTS=-v + + That will show you the error messages from the test compiles and you can + figure out what's going wrong and fix it. Typically, you'll find that you + need to do better on your CURSES_* environment variables (see above). + + Alternatively, if you see that test.syms is picking the wrong values, you + can edit "CursesDef.h" by hand and follow the directions. If you have to + "roll your own", be sure to save a copy. A "make clean" will delete + "CursesDef.h". + + + + +(But if you were watching, you would have seen + hundreds of informational messages telling you that the build system was + not finding any of the Curses functions in the library). + + + HP-UX ----- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Curses-1.39/MAINTENANCE new/Curses-1.41/MAINTENANCE --- old/Curses-1.39/MAINTENANCE 2020-10-04 01:31:29.000000000 +0200 +++ new/Curses-1.41/MAINTENANCE 2022-08-18 01:31:06.000000000 +0200 @@ -2,7 +2,7 @@ Steps to release: - - Update HISTORY file with description of new stuff and release date. + - Update ChangeLog file with description of new stuff and release date. - Update version number in Curses.pm (search for VERSION). @@ -13,6 +13,7 @@ perl Makefile.PL PANELS MENUS FORMS make perl -Mblib -MCurses -e1 + perl demo - Make a tarball: @@ -58,7 +59,7 @@ generate new files, diff to see what changed, and put those changes into the Gen programs. -Originally, what is in gen.tar was a directory name 'gen' in the Curses +Originally, what is in gen.tar was a directory named 'gen' in the Curses package on CPAN, and CPAN unfortunately indexes the Perl modules in there as public modules. And because make.Curses.pm contains the perldoc stuff for Curses.pm, people have even been mislead into using that unmaintained file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Curses-1.39/MANIFEST new/Curses-1.41/MANIFEST --- old/Curses-1.39/MANIFEST 2022-08-12 01:38:31.000000000 +0200 +++ new/Curses-1.41/MANIFEST 2022-08-18 18:06:50.000000000 +0200 @@ -1,5 +1,6 @@ Artistic cdemo.c +ChangeLog Copying Curses.c Curses.pm diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Curses-1.39/META.json new/Curses-1.41/META.json --- old/Curses-1.39/META.json 2022-08-12 01:38:31.000000000 +0200 +++ new/Curses-1.41/META.json 2022-08-18 18:06:50.000000000 +0200 @@ -32,6 +32,6 @@ } }, "release_status" : "stable", - "version" : "1.39", + "version" : "1.41", "x_serialization_backend" : "JSON::PP version 4.04" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Curses-1.39/META.yml new/Curses-1.41/META.yml --- old/Curses-1.39/META.yml 2022-08-12 01:38:30.000000000 +0200 +++ new/Curses-1.41/META.yml 2022-08-18 18:06:50.000000000 +0200 @@ -17,5 +17,5 @@ directory: - t - inc -version: '1.39' +version: '1.41' x_serialization_backend: 'CPAN::Meta::YAML version 0.018' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Curses-1.39/Makefile.PL new/Curses-1.41/Makefile.PL --- old/Curses-1.39/Makefile.PL 2016-08-11 22:14:33.000000000 +0200 +++ new/Curses-1.41/Makefile.PL 2022-08-18 18:00:35.000000000 +0200 @@ -150,7 +150,7 @@ 'default' => 'ncurses' }, 'next' => [ '' , '-lcurses -ltermcap' ], - 'openbsd' => [ '' , '-lcurses -ltermcap' ], + 'openbsd' => [ '' , '-lcurses -ltermcap' ], 'os2' => { 'bsd' => [ '' , '-lcurses -ltermcap' ], 'ncurses' => [ '' , '-lncurses' ], @@ -356,7 +356,7 @@ if (ref $guess eq 'HASH') { # For this platform, we have a choice of Curses library. - + $libType = $guess->{'default'}; } return $libType; @@ -413,8 +413,8 @@ print STDERR <<"EOW"; I'm sorry, but I couldn't find a hints file that was configured for -your OS (named $candidate). You will need to create and configure a -"c-config.h" file for yourself. Please see the "INSTALL" directions +your OS (named $candidate). You will need to create and configure a +"c-config.h" file for yourself. Please see the "INSTALL" directions for pointers on how to do this. EOW exit 1; @@ -574,7 +574,7 @@ my $clean = 'CursesDef.h c-config.h cdemo testsym testint testtyp *.i *.s'; my $realc = $gen - ? 'list.syms Curses.pm ' . + ? 'list.syms Curses.pm ' . 'CursesFun.c CursesVar.c CursesCon.c CursesTyp.h CursesBoot.c' : ""; @@ -601,13 +601,19 @@ my $echo = $OSNAME eq 'VMS' ? 'write sys$output' : 'echo'; my $objext = $OSNAME eq 'MSWin32' ? 'obj' : 'o'; my $mf = <<EOM; + CursesDef.h: c-config.h Makefile.PL list.syms - \$(PERL) test.syms $args{COMPONENTS} + CC='\$(CC)' \\ + INC='\$(INC)' \\ + CCFLAGS='\$(CCFLAGS)' \\ + LDLOADLIBS='\$(LDLOADLIBS)' \\ + LDDLFLAGS='\$(LDDLFLAGS)' \\ + \$(PERL) test.syms \$(TEST_SYMS_OPTS) $args{COMPONENTS} c-config.h: @ $echo "You need to make a c-config.h. See the INSTALL document."; @ exit 1 -cdemo: cdemo.$objext c-config.h +cdemo: cdemo.c c-config.h EOM if ($OSNAME eq 'VMS') { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Curses-1.39/cdemo.c new/Curses-1.41/cdemo.c --- old/Curses-1.39/cdemo.c 2007-11-28 04:52:01.000000000 +0100 +++ new/Curses-1.41/cdemo.c 2022-08-13 02:44:13.000000000 +0200 @@ -8,11 +8,10 @@ #include "CursesDef.h" #include "c-config.h" -#ifdef VMS -#include <unistd.h> /* not in perl.h ??? */ -#endif #ifdef WIN32 -#include <Windows.h> + #include <Windows.h> +#else + #include <unistd.h> #endif static void @@ -28,7 +27,7 @@ int -main(unsigned int const argc, +main(int const argc, const char ** const argv) { WINDOW *b; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Curses-1.39/test.syms new/Curses-1.41/test.syms --- old/Curses-1.39/test.syms 2014-04-06 19:12:26.000000000 +0200 +++ new/Curses-1.41/test.syms 2022-08-17 01:17:42.000000000 +0200 @@ -1,6 +1,6 @@ #!../../perl ## -## test.syms -- test for function/variable symbols +## test.syms -- test for function/variable symbols ## ## Set the environment variable CURSES_VERBOSE to see the details of the ## testing. @@ -27,33 +27,19 @@ sub makeCompileCommand($) { my ($compileR) = @_; - + # Get a compile command so we can test for curses symbols. # (There has got to be an easier way. Blech.) # my $compile = '#CC# #DEFS# #INCS# #CFLAGS# #FILE# #LFLAGS# #LIBS#' . ($verbose ? '' : '#NULL#'); - my $makefile = ($OSNAME =~ /VMS/) ? "Descrip.MMS" : "Makefile"; - - my ($cc, $inc, $ccflags, $ldloadlibs, $lddlflags); - open MAKEFILE, "< $makefile" or - die "Can't open make file '$makefile' errno=$ERRNO"; - while (<MAKEFILE>) { - - if (/^CC\s*=\s*(.*)/) { - $cc = $1; - } elsif (/^INC\s*=\s*(.*)/) { - $inc = $1; - } elsif (/^CCFLAGS\s*=\s*(.*)/) { - $ccflags = $1; - } elsif (/^LDLOADLIBS\s*=\s*(.*)/) { - $ldloadlibs = $1; - } elsif (/^LDDLFLAGS\s*=\s*(.*)/) { - $lddlflags = $1; - } - } + my $cc = $ENV{'CC'}; + my $inc = $ENV{'INC'}; + my $ccflags = $ENV{'CCFLAGS'}; + my $ldloadlibs = $ENV{'LDLOADLIBS'}; + my $lddlflags = $ENV{'LDDLFLAGS'}; if (defined($cc)) { $compile =~ s{#CC#}{$cc}; @@ -80,7 +66,6 @@ } $compile =~ s{#LFLAGS#}{$lflags}; } - close MAKEFILE; # Left to handle: DEFS/FILE/NULL # DEFS => "cc" define of "SYM" to "_C_SYM_" @@ -104,7 +89,7 @@ $compile =~ s{#FILE#}{-o _C_FILE_ _C_FILE_.c}; $compile =~ s{#NULL#}{>/dev/null 2>&1}; } - + if ($compile =~ m{#.+#}) { die "OOPS: internal error constructing a compile command. " . "We failed to substitute for a #xxx# substitution variable " . @@ -152,7 +137,7 @@ open STDERR, ">&LOG" or die "Can't redirect STDERR: $!\n"; next; - }; + }; $arg =~ /^-/ and Usage("Unknown option: $arg"); Usage("Unknown argument: $arg"); } @@ -187,17 +172,17 @@ EOHDR -print OUTH +print OUTH $panels ? "#define " : "#undef ", "C_PANELFUNCTION /* Add in panel library function? */", "\n\n"; -print OUTH +print OUTH $menus ? "#define " : "#undef ", "C_MENUFUNCTION /* Add in menu library function? */", "\n\n"; -print OUTH +print OUTH $forms ? "#define " : "#undef ", "C_FORMFUNCTION /* Add in form library function? */", "\n\n"; @@ -222,7 +207,7 @@ unless (defined $sym and defined $file) { warn "WARNING: internal error on symbol $_\n"; } - + my $cmd; $cmd = $compile; # initial value my $symargs = $sym . (defined($args) ? $args : ''); @@ -300,7 +285,7 @@ Usage: find_syms [options] where options include: - -h This message. + -h This message. -v Verbose. Tell you more than you want to know about how the Curses symbols are being determined. -l <file> Create file <file> and dump output into it. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Curses-1.39/testsym.c new/Curses-1.41/testsym.c --- old/Curses-1.39/testsym.c 2021-07-21 02:55:33.000000000 +0200 +++ new/Curses-1.41/testsym.c 2022-08-17 22:36:17.000000000 +0200 @@ -8,6 +8,7 @@ #include "c-config.h" +int main() { SYM; }