In perl.git, the branch smoke-me/nicholas/regen-miniperl-versions has been created
<http://perl5.git.perl.org/perl.git/commitdiff/f556af6c048b2769e0a588d55ef54f5949171836?hp=0000000000000000000000000000000000000000> at f556af6c048b2769e0a588d55ef54f5949171836 (commit) - Log ----------------------------------------------------------------- commit f556af6c048b2769e0a588d55ef54f5949171836 Author: Nicholas Clark <[email protected]> Date: Wed Jul 10 13:59:57 2013 +0200 Refactor perlmodlib.PL to use regen_lib.pl and avoid FindBin. Instead of using FindBin, pass a directory to use on the command line. Use regen_lib for handling the output file. die if any file opened for reading has errors on closing. Run with the cwd as the top level of the distribution, instead of pod/ M pod/perlmodlib.PL M win32/Makefile M win32/makefile.mk commit f791a21a201869623475139b9a596b9cff272a03 Author: Peter Martini <[email protected]> Date: Tue Jun 25 04:47:56 2013 -0400 Split the handling for "Illegal character" and "Illegal character after '_'" After applying this patch, both can now be triggered at once, whereas previously any use of '_' would trigger the "after '_'" variant. Since the two warnings warn for different reasons, there's no reason to conflate the two. Also updated perldiag with a clearer explanation of the tighter restrictions after an underscore. (In the tests, the change of uniproto12 to uniproto13 is merely correcting an error from a previous patch, reusing the name would conflate two kinds of tests in one statement). M pod/perldiag.pod M t/comp/proto.t M toke.c commit 9c8008621f0729831a4b338ab439f4006a70326f Author: Karl Williamson <[email protected]> Date: Wed Jul 10 20:26:39 2013 -0600 perldelta: document locale changes M pod/perldelta.pod commit 6e4979f3c7d746253a6b3ead9fa65dd4a8226ef6 Author: Tony Cook <[email protected]> Date: Thu Jul 11 11:23:49 2013 +1000 perldelta for 2c179de53ae082 M pod/perldelta.pod commit 2c179de53ae08262a2cc8596ec1bcb8ccf6795b9 Author: Vladimir Timofeev <[email protected]> Date: Thu Jul 11 11:05:44 2013 +1000 [perl #118829] Memory leaks in STORABLE_attach M MANIFEST M dist/Storable/Storable.pm M dist/Storable/Storable.xs A dist/Storable/t/leaks.t commit c07def6d1f2b66b4a9bf2b14c0357f6f4889492e Author: Brian Gottreu <[email protected]> Date: Wed Jul 10 08:14:35 2013 -0500 Fix typo in docs for SvPV: ") => >" M sv.h commit 52a9d53bdd6a4845c7ec443f355db3a9a43c6918 Author: Nicholas Clark <[email protected]> Date: Wed Jul 10 15:34:00 2013 +0200 Update comment in autodoc.pl - it's not run from regen.pl This should have been done as part of commit 22b7b87b206c3e0c. M autodoc.pl commit e6a378f2226d4d68c3068afc27d3476859938e7b Author: James E Keenan <[email protected]> Date: Tue Jul 9 17:54:44 2013 +0200 Convert to use of Test::More. Boost test coverage. Since File::Compare's functions are documented to return 1, 0, or -1, we will continue to examine the return value in our tests, rather than simply checking for truth when 0 or 1 is returned. Following code review, eliminate trailing whitespace. For: RT #118823 M lib/File/Compare.t commit b54d603d2b0409d931d988215873268c9de799d1 Author: Peter Martini <[email protected]> Date: Tue Jul 9 00:29:48 2013 -0400 'Prototype after' and 'Illegal character' warnings should both pretty print the prototype text. For example, prior to this patch, eval "sub foo (@\0) {}" would give two warnings: Prototype after '@' for main::foo : @ at (eval 1) line 1. Illegal character in prototype for main::foo : @\0 at (eval 1) line 1. In both cases, the representation which makes a NULL visible is useful, and of course since we're printing the same warning twice, it doesn't hurt to display it consistently. M t/lib/warnings/op M toke.c commit fc4b816451cc28ba7a582a778b109e5339551a65 Author: Petr PÃsaÅ <[email protected]> Date: Mon Jul 8 16:10:38 2013 +0200 Suppress system Term::ReadLine::Gnu perl5db.t will die in Term::ReadLine if Term::ReadLine::Gnu is installed in the system. Let's favour core implementation. Best solution would be to prune @INC to prevent from loading already installed modules like this: BEGIN { use Config; @INC = grep { ! /^\Q$Config{installprefix}\E(\/|\z)/ } @INC; } However that is not possible (now) due to various execs (even without proper -I) in the harness chain. perl should implement -nostdinc option. Signed-off-by: Petr PÃsaÅ <[email protected]> M lib/perl5db.t commit a76c80a7e25ec6178a519942045a9a18e598c539 Author: Father Chrysostomos <[email protected]> Date: Tue Jul 9 20:39:00 2013 -0700 Add Nathan Trapuzzano to AUTHORS M AUTHORS commit 3b543d8408a3f651b51462a03bd54f8198fd203d Author: Nathan Trapuzzano <[email protected]> Date: Tue Jul 9 20:59:34 2013 -0400 Fix typo in perlreapi(1perl). M pod/perlreapi.pod commit d80cf4708315ac91f3033203b385761c18e3ba25 Author: Peter Martini <[email protected]> Date: Tue Jul 9 23:07:10 2013 -0400 Quiet warning in a DEBUG print The variable type is STRLEN, and the format code is expecting a UV, so just cast it to UV to quiet a warning. M util.c commit 4c9b78f4fff91b5c7e4f74e09e1bc2838c0f740f Author: Karl Williamson <[email protected]> Date: Tue Jul 9 22:08:00 2013 -0600 locale documentation: Grammaar and appearance nits M ext/POSIX/lib/POSIX.pod M pod/perlembed.pod M pod/perllocale.pod commit ccd65d51403426e176072af492d832677521af9f Author: Karl Williamson <[email protected]> Date: Mon Jul 8 14:04:45 2013 -0600 PATCH: [perl #38193] embedded perl always calls setlocale(LC_ALL,"") This commit causes the locale initialization to skip calling setlocal(foo, "") if the environment variable PERL_SKIP_LOCALE_INIT is set. Instead, the setup code calls setlocale(LC_ALL, NULL) (plus other similar calls for the subcategories) in order to find out what the current locale is. The original poster for this ticket has a workaround for it which involves using a modified copy of Perl core code. This patch defines the C preprocessor variable HAS_SKIP_LOCALE_INIT that can be used by XS writers to discover if the current Perl version needs the workaround or not. I was unable to come up with a test for this patch that did not involve building extensive infrastructure for testing embedded Perl. That does not seem worth it for such a trivial patch. I tested by hand. M locale.c M perl.h M pod/perlembed.pod M pod/perllocale.pod commit a77c16f7c797af630db968764807f48bed555b91 Author: Father Chrysostomos <[email protected]> Date: Tue Jul 9 08:26:05 2013 -0700 Make method lookup treat *foo as \*foo It is possible to call a method on a typeglob with an IO thingy, as in *ARGV->getline. This treats the invocant as a handle and looks up its methods in IO::File. As of commit 7156e69, a typeglob without an IO thingy is treated as a class: $ ./perl -Ilib -e 'sub foo::oof { print "foof!\n" } *foo->oof' foof! It did not occur to me back then that globs were being stringified in method lookup. Before that commit, names beginning with a non-alphabetic character were permitted for handle names, but not for package names. That fact, and the fact that symbol lookup in general will ignore an ini- tial * followed by a letter, allowed *ARGV->getline to work. For *Package->foo to work was a mistake. It turns out, also, that the glob stringification could cause the wrong handle to be used, e.g., after glob aliasing. Also, a handle whose stringification begins with * followed by a non-alphabetic char- acter will not work, because symbol lookup does not strip * from the stringified glob: $ ./perl -Ilib -e '$::Foo::VERSION; package Foo; open FH, "perl"; *FH->getline' Can't locate object method "getline" via package "*::Foo::FH" (perhaps you forgot to load "*::Foo::FH"?) at -e line 1. This commit fixes all this inconsistency by simply not stringifying the glob. *FH->foo is now treated the same way as (\*FH)->foo (as it already was in those cases where it worked). This does allow PVLV globs to reach code that they couldnât reach before, so this patch has to handle those, too. (newRV probably ought to handle PVLVs, but it currently doesnât.) M pp_hot.c M t/op/method.t commit 6ea81ccfc852fdeb1f2b4a07ebfbb5ccf65f3239 Author: Karl Williamson <[email protected]> Date: Tue Jul 9 18:27:45 2013 -0600 Better document setlocale, "use locale" interactions The POSIX::setlocale() documentation failed to mention that "use locale" is also usually necessary. M ext/POSIX/lib/POSIX.pod M pod/perllocale.pod commit 55a437d2ef69d4edc08286baee0e430739a973ef Author: Chris 'BinGOs' Williams <[email protected]> Date: Tue Jul 9 20:39:11 2013 +0100 Update Getopt-Long to CPAN version 2.41 [DELTA] Changes in version 2.41 ----------------------- * Change INSTALLDIRS to site for perl >= 5.011. See https://rt.perl.org/rt3//Ticket/Display.html?id=116479 for details. M Porting/Maintainers.pl M cpan/Getopt-Long/CHANGES M cpan/Getopt-Long/lib/Getopt/Long.pm commit b87eccc16ae8adb99cf02220e8703f2399ad222c Author: Father Chrysostomos <[email protected]> Date: Tue Jul 9 06:15:04 2013 -0700 method.t: Correct miniperl skip count 210fdecd missed this. M t/op/method.t commit e3d1d900454d9b6f7760f03b5668221b359b7960 Author: Daniel Dragan <[email protected]> Date: Fri Jul 5 23:19:57 2013 -0400 add entries to various .gitignore files for Win32 builds win32/html and cpan/Module-Build/t/install_test* generate dozens of non-versioned files on a Win32 build which makes committing cumbersome M .gitignore M win32/.gitignore commit d9c91bf7ba76533d2f6c1d14025208b5d1a6ba64 Merge: f8d6280 893b07a Author: Nicholas Clark <[email protected]> Date: Tue Jul 9 08:24:38 2013 +0200 Merge the refactoring of ExtUtils::Miniperl and ExtUtils::Embed. commit 893b07a18fa2d31462449244bcd64005ccbf10ce Author: Nicholas Clark <[email protected]> Date: Mon Jul 8 17:23:52 2013 +0200 Describe the changes to ExtUtils::{Embed,Miniperl} in perldelta. M pod/perldelta.pod commit b49998889df0e37bdd1b5d4d49c8a1adcb0eedbb Author: Nicholas Clark <[email protected]> Date: Mon Jul 8 17:00:35 2013 +0200 Change the *nix and VMS Makefiles to to pass a filename to writemain(). Adding a first argument as a reference to the filename "perlmain.c" makes ExtUtils::Miniperl::writemain() open and close the file for us. This is safer than having the Makefile create the file using output redirection as that can create an empty file if compilation aborts. This change means that the file is only moved into place with the correct name if it has been written completely without error. If an error happens the file is not created, the make aborts, and any subsequent make will re-attempt to create the file, instead of continuing with an incorrect file, hiding the real cause of the problems. M Makefile.SH M vms/descrip_mms.template commit a06cd52b4e4376cb0c4375a8943888ed7c9f37d2 Author: Nicholas Clark <[email protected]> Date: Mon Jul 8 16:41:30 2013 +0200 ExtUtils::Miniperl::writemain()'s first argument can also be a filename. Treat a reference to a scalar as the name of a file to open for output. Any other reference is used as an output filehandle. Otherwise the default remains to write to STDOUT. M ext/ExtUtils-Miniperl/lib/ExtUtils/Miniperl.pm commit c6c8952117b3f95f22ad700d84fdb39432aaa4dd Author: Nicholas Clark <[email protected]> Date: Mon Jul 8 15:23:48 2013 +0200 Use more semantic markup in the Pod for ExtUtils::Embed. Instead of B<> use F<> for filenames. Instead of B<> use C<> for code. Instead of B<> use I<> for parameter names. Instead of F<> use C<> for e-mail addresses. Remove semantically unnecessary blank lines, and trailing spaces from edited lines. M lib/ExtUtils/Embed.pm commit 2d7ce4f0bbc68d324277c4383a6ad0a316c0b651 Author: Nicholas Clark <[email protected]> Date: Mon Jul 8 15:12:28 2013 +0200 Refactor ExtUtils::Embed::xsi_{protos,body} to use a scalar $retval. Previously the code was accumulating the return value by pushing lines onto an array @retval, then joining it to a single scalar on return. As nothing needs the individual lines, reduce the complexity by concatenating directly to a scalar. M lib/ExtUtils/Embed.pm commit 8d68a8a555855e91bb1e6912e9ee30c136295672 Author: Nicholas Clark <[email protected]> Date: Mon Jul 8 12:11:35 2013 +0200 Refactor xsinit generation code in ExtUtils::Embed. Remove tautological comments about loading modules. Simplify xsi_protos() and static_ext(). canon('/','DynaLoader') is just 'DynaLoader' so inline the constant. Refactor canon() to consistently use 1 regex pattern delimiter, avoid map in void context, and teach it that extensions can be in 'dist' and 'cpan' as well as 'ext'. Remove obsolete C<require 5.002> statement. M lib/ExtUtils/Embed.pm commit d573a731832b47514921a72ae88e60b18be87e33 Author: Nicholas Clark <[email protected]> Date: Mon Jul 8 11:21:15 2013 +0200 Refactor ExtUtils::Miniperl to use ExtUtils::Embed. There is now only one copy of Perl code to generate the C for an xsinit() function. This also eliminates ExtUtils::Miniperl::canon(), which was not exported, and is no longer needed. M ext/ExtUtils-Miniperl/lib/ExtUtils/Miniperl.pm M lib/ExtUtils/Embed.pm M miniperlmain.c commit 5ec3aaed3924eb916d899592d7ddce99dd92959b Author: Nicholas Clark <[email protected]> Date: Mon Jul 8 11:08:12 2013 +0200 Tweak ExtUtils::Embed's generated C code to be closer to ExtUtils::Miniperl. Use #include "..." instead of #include <...> in xsi_header(), and don't add a trailing newline (and add a newline in xsinit() to compensate). Use four spaces instead of a tab for indenting. If there are no extensions and hence no calls to newXS() don't declare file[] and don't add a trailing newline. M lib/ExtUtils/Embed.pm commit a76b6481754efe93c8fd83bfbf53f4409c2e6e8d Author: Nicholas Clark <[email protected]> Date: Mon Jul 8 10:39:50 2013 +0200 Propagate bugfixes from {mini,}perlmain.c into ExtUtils::Embed. xs_init() must pass a static char* when creating &DynaLoader::boot_DynaLoader (commit 1b77350017006d9e) Avoid linker errors on Win32 by including perlapi.h (via XSUB.h) (commit 3ecadf9633330795) my_perl might be unused (commit 96a5add60f1f39d3) M lib/ExtUtils/Embed.pm commit 566e3efea3c525320e489c80ef426a6cfc5df4a1 Author: Nicholas Clark <[email protected]> Date: Sun Jul 7 15:12:42 2013 +0200 Refactor ExtUtils::Embed to work with miniperl. Remove the use of FileHandle, which relies on IO, and XS module. Only load Getopt::Std if it is needed (in xsinit()), to avoid needing to add Getopt::Std to lib/buildcustomize.pl Require File::Spec instead of using it, as it exports nothing, so there is no benefit to using it (but it costs a BEGIN block). M lib/ExtUtils/Embed.pm commit f8d6280ff20162987d9905bbb380d50485ce4e99 Author: Nicholas Clark <[email protected]> Date: Tue Apr 24 22:48:38 2012 +0200 On Win32 run autodoc.pl and pod/perlmodlib.PL using miniperl, not perl. *nix and VMS both use miniperl to run these two build scripts. This makes Win32 consistent. This eliminates the last two uses of the ICWD macro, so eliminate it too. M win32/Makefile M win32/makefile.mk commit bf8b9e96e2b168f1f323a8c9066ae58cbe5b4ad9 Author: David Golden <[email protected]> Date: Tue Jul 9 11:45:42 2013 +1000 [perl #116975] perlfunc require: fix example subroutine M pod/perlfunc.pod commit b7c0c6b4c695e81ae2ca0860d66741becced22b4 Author: Tony Cook <[email protected]> Date: Tue Jul 9 10:37:32 2013 +1000 [perl #117033] wrong .packlist creation at installation on Cygwin with destdir M installperl commit e8856f17db2c0b18a07fe6dedceda9eaefec3e3e Author: Father Chrysostomos <[email protected]> Date: Mon Jul 8 13:52:30 2013 -0700 perldelta template: consistent spaces after dots (pod2man or nroff [whichever] treats a dot at the end of a line as a dot followed by two spaces.) M Porting/perldelta_template.pod commit 8c33633ddf7711d5e8051b4d968c37c0438b0997 Author: Father Chrysostomos <[email protected]> Date: Mon Jul 8 13:51:04 2013 -0700 perldelta: consistent spaces after dots M pod/perldelta.pod commit 4178f891f552ec7af2342df2bd612ce144646330 Author: Father Chrysostomos <[email protected]> Date: Sun Jul 7 12:31:00 2013 -0700 [perl #113932] UNIVERSAL::can with globs and globrefs (Also perl #118105.) This allows *ARGV->can("print") to work as long as IO::Handle is loaded. This translates into UNIVERSAL::can(\*ARGV,"print"). This commit also changes UNIVERSAL::can to accept a plain *ARGV as well. UNIVERSAL::can("ARGV",...) is left as it is (ARGV is treated as a pack- age name), because changing that requires a bigger patch, and I donât know when I will get to it. M t/op/universal.t M universal.c commit 3a0b4597b2f8395314ac26ae64724f8965fa7bed Author: Chris 'BinGOs' Williams <[email protected]> Date: Mon Jul 8 20:46:08 2013 +0100 perldelta for b2b69a966b47abd2cb4c320da60619b27c6c8abf M pod/perldelta.pod commit af94b52dce240435979cc414cbf60e310d1f3d5a Author: Karl Williamson <[email protected]> Date: Mon Jul 8 13:00:39 2013 -0600 perldelta: Verbatim lines into 79 columns M pod/perldelta.pod commit 2619d284fe43b88abcccf1db3156b6b239a34ccb Author: Karl Williamson <[email protected]> Date: Mon Jul 8 12:48:28 2013 -0600 perllocale.pod: Fix misstatements, and some nits "$!" (stringified) is always subject to the current locale, even outside 'use locale'. The motiviation, I believe, for this is that these are operating system messages that are generally of most value to the end-user, and so should be expressed in terms that are understandable to the end-user, regardless of what the Perl programmer did or didn't do. M pod/perllocale.pod commit fbd840dfc9b563b320e11bc4465883053a0487f5 Author: Karl Williamson <[email protected]> Date: Sun Jul 7 22:42:43 2013 -0600 PATCH: [perl #115808]: POSIX::setlocale returns bizarre value on failure It turns out that this bug is caused by a more general one, covered by [perl #118693]. But in the meantime, this commit fixes the problem for setlocale(), and makes the code slightly cleaner besides. M ext/POSIX/POSIX.xs M lib/locale.t commit e48e70eb25d869b2aaf809e37344a94cdfd5902d Author: Ricardo Signes <[email protected]> Date: Mon Jul 8 11:07:29 2013 -0400 perlexperiment: linux abstract domains sockets ...now they are upstream-cpan and supported M pod/perlexperiment.pod commit dc39f285389eacc63e9c377a414a284b2e07984b Author: Ricardo Signes <[email protected]> Date: Mon Jul 8 09:35:08 2013 -0400 perlexperiment: MLDBM is not part of core M pod/perlexperiment.pod commit bd86609cf6be2a758a00616a2a34633494b7b142 Author: James E Keenan <[email protected]> Date: Fri Jul 5 03:09:04 2013 +0200 Add block to exercise case of very large buffer in lib/File/Copy.pm. M lib/File/Copy.t commit 66759c69ded989f8dac56fefcabe9be0898b734a Author: James E Keenan <[email protected]> Date: Thu Jul 4 15:33:40 2013 +0200 Add tests for two previously unexercised sections of lib/Symbol.pm. M lib/Symbol.t commit 4105b9fdf17a72f17cc0d8dca8b8fca3d05612f8 Author: Craig A. Berry <[email protected]> Date: Sun Jul 7 14:28:21 2013 -0500 Remove trailing dots in t/porting/readme.t on VMS. Because on VMS a zero-length extension still has a dot. M t/porting/readme.t commit 611495fa0a9cab94861d5ee40788d94b92184a98 Author: Craig A. Berry <[email protected]> Date: Sun Jul 7 14:03:33 2013 -0500 Restore $(ARCHDIR)vmspipe.com to VMS build after 2d11a7e9678. That commit moved VMS::Filespec from vms/ext to ext/, but it also deleted the vmspipe.com dependency from the LIBPREREQ target in vms/descrip_mms.template. (vmspipe.com has nothing to do with VMS::Filespec.) Which meant vmspipe.com was not availabe for building extensions or running tests, and -- worse yet -- would not get installed. So every pipe creation would involve creating a temporary version of this file using fallback code in vms/vms.c, thus making the very pokey pipe implementation even more expensive. M vms/descrip_mms.template ----------------------------------------------------------------------- -- Perl5 Master Repository
