This is a live mirror of the Perl 5 development currently hosted at
12 years agoIO::Select: allow removal of IO::Handle objects without fileno
Franz Fasching [Thu, 27 Jan 2011 16:46:59 +0000 (08:46 -0800)]
IO::Select: allow removal of IO::Handle objects without fileno

12 years agopod/perlpolicy.pod: fix grammar in 70a565f
Ævar Arnfjörð Bjarmason [Thu, 27 Jan 2011 22:09:21 +0000 (22:09 +0000)]
pod/perlpolicy.pod: fix grammar in 70a565f

Change the "was within" wording added in 70a565f to "was released

12 years agoclarify perlpolicy about which series are supported
Ricardo Signes [Thu, 27 Jan 2011 21:55:10 +0000 (16:55 -0500)]
clarify perlpolicy about which series are supported

that is, we try to support 5.10.1 for security fixes based on the
release date of 5.10.0, not 5.10.1

12 years agorelative file in %BuildFiles
Robin Barker [Thu, 27 Jan 2011 15:54:40 +0000 (15:54 +0000)]
relative file in %BuildFiles

[Ævar: removed trailing whitespace from the original patch]

Signed-off-by: Ævar Arnfjörð Bjarmason <>
12 years agoperlio.c: silence format warnings
Robin Barker [Thu, 27 Jan 2011 14:02:36 +0000 (14:02 +0000)]
perlio.c: silence format warnings

Signed-off-by: Ævar Arnfjörð Bjarmason <>
12 years agoadd tests for #3516: \G in a m//g
David Mitchell [Thu, 27 Jan 2011 15:15:35 +0000 (15:15 +0000)]
add tests for #3516: \G in a m//g

as suggested in RT# #76706 by George Greer.

12 years agoMade binmode $fh, ':scalar' DWIM
Leon Timmermans [Mon, 24 Jan 2011 15:48:02 +0000 (16:48 +0100)]
Made binmode $fh, ':scalar' DWIM

This silences this warning:
  $ perl -we 'open my $f, ">", \my $x; binmode $f, "scalar"'
  Use of uninitialized value in binmode at -e line 1.

12 years agoCompile keywords.c on VMS.
Craig A. Berry [Wed, 26 Jan 2011 04:41:35 +0000 (22:41 -0600)]
Compile keywords.c on VMS.

12 years agoAdd Noirin Shirley to AUTHORS
Father Chrysostomos [Wed, 26 Jan 2011 04:32:47 +0000 (20:32 -0800)]
Add Noirin Shirley to AUTHORS

12 years agomore typo fix for perlxstut.pod
Hongwen Qiu [Tue, 25 Jan 2011 05:08:55 +0000 (13:08 +0800)]
more typo fix for perlxstut.pod

12 years agoUpdate CGI to CPAN version 3.52
Chris 'BinGOs' Williams [Tue, 25 Jan 2011 13:49:38 +0000 (13:49 +0000)]
Update CGI to CPAN version 3.52


  Version 3.52

  - The documentation for multi-line header handling was been updated to reflect
    the changes in 3.51. (Mark Stosberg,

  - Add missing t/tmpfile.t file. (RT#64949)
  - Fix warning in t/cookie.t (RT#64570, Chris Williams, Rainer Tammer, Mark Stosberg)
  - Fixed logic bug in t/multipart_init.t (RT#64261, Niko Tyni)

12 years agoSmall change to perlretut and perlrequick to fix Bug 76604
Noirin Shirley [Fri, 30 Jul 2010 13:37:36 +0000 (14:37 +0100)]
Small change to perlretut and perlrequick to fix Bug 76604

12 years agoConvert Safe's remaining hold out tests to Test::More
Nicholas Clark [Tue, 25 Jan 2011 09:29:08 +0000 (09:29 +0000)]
Convert Safe's remaining hold out tests to Test::More

12 years agoConvert Data::Dumper's overload.t to Test::More
Nicholas Clark [Mon, 24 Jan 2011 16:51:49 +0000 (16:51 +0000)]
Convert Data::Dumper's overload.t to Test::More

12 years agoUpdate Module::Build to CPAN version 0.3622
David Golden [Tue, 25 Jan 2011 04:06:38 +0000 (23:06 -0500)]
Update Module::Build to CPAN version 0.3622


0.3622 - Mon Jan 24 21:06:50 EST 2011

  - No changes from 0.36_21

0.36_21 - Fri Jan 21 11:01:28 EST 2011

  - Changed YAML::Tiny references to the new CPAN::Meta::YAML module
    instead, which is the YAML-variant that is going into the Perl core

0.36_20 - Fri Dec 10 15:36:03 EST 2010


  - Module::Build::Version has been deprecated.  Module::Build now depends
    directly upon  A pure-perl version has been bundled in inc/
    solely for bootstrapping in case configure_requires is not supported.
    M::B::Version remains as a wrapper around

  - Module::Build::ModuleInfo has been deprecated.  Module::Build now
    depends directly upon Module::Metadata (which is an extraction of
    M::B::ModuleInfo intended for general reuse).  A pure-perl version has
    been bundled in inc/ solely for bootstrapping in case
    configure_requires is not supported. M::B::ModuleInfo remains as a
    wrapper around Module::Metadata.

  - Module::Build::YAML has been deprecated.  Module::Build now depends
    directly upon YAML::Tiny.  M::B::YAML remains as a subclass wrapper.
    The YAML_support feature has been removed, as YAML is now an ordinary

0.36_19 - Tue Dec  7 13:43:42 EST 2010

  Bug fixes:

  - Perl::OSType is declared as a 'configure_requires' dependency, but is
    also bundled in inc (and loaded if needed) [David Golden]

0.36_18 - Mon Dec  6 16:46:49 EST 2010


  - Added dependency on Perl::OSType to refactor and centralize
    management of OS type mapping [David Golden]

  - When parsing a version number out of a file, any trailing alphabetical
    characters will be dropped to avoid fatal errors when comparing version
    numbers.  These would have been dropped (with a warning) anyway during
    an ordinary numeric comparison. (RT#56071) [David Golden]

  Bug fixes:

  - A Perl interpreter mismatch between running Build.PL and running Build
    is now a fatal error, not a warning (RT#55183) [David Golden]

  - Bundled Module::Build::Version updated to bring into sync with CPAN 0.86 [David Golden]

  - No longer uses fake user 'foo' in t/tilde (RT#61793) [David Golden]

  - Won't fail tests if an ancient Tie::IxHash is installed
    [Christopher J. Madsen]

  - Correctly report missing metafile field names [David Golden]

  - Suppress uninitialized value errors during Pod creation
    on ActiveState Perl [David Golden]

  - Return to starting directory after install action; this is
    an attempt to fix an install.t heisenbug (RT#63003) [David Golden]

  - A broken load won't cause Module::Build::Version to
    die trying to install itself as a mock version (RT#59499)
    [Eric Wilhelm and David Golden]

  - PERL_DL_NONLAZY is now always set when tests are run
    (RT#56055) [Dmitry Karasik]

  - 'fakeinstall' will use .modulebuildrc actions for 'install' if
    no specific 'fakeinstall' options are provided (RT#57279)
    [David Golden]

  - Add install*script to search path for installdeps client
    and search site, then vendor, then core paths

  - Skip noexec tmpdir check on Windows (RT#55667) [Jan Dubois]

  - Arguments with key value pairs may now have keys with "-" in them
    (RT#53050) [David Golden]

  - Add quotemeta to t/tilde.t test to fix Cygwin fails
    [Chris Williams and David Golden]

  - Build script now checks that M::B is at least the same version
    of M::B as provided in 'configure_requires' in META
    (RT#54954) [David Golden]

0.36_17 - Wed Oct 27 18:08:36 EDT 2010


  - Added 'distinstall' action to run 'Build install' inside the
    generated distribution directory [Jeff Thalhammer]

0.36_16 - Thu Aug 26 12:44:07 EDT 2010

  Bug fixes:

  - Better error message in case package declaration is not found
    when searching for version. [Alexandr Ciornii]

  - Skips 'release_status' tests on perl < 5.8.1 due to buggy
    treatment of dotted-decimal version numbers [David Golden]

0.36_15 - Wed Aug 25 10:41:28 EDT 2010

  Bug fixes:

  - Added a mock Software::License to prevent t/properties/license.t
    from failing.

0.36_14 - Sun Aug 22 22:56:50 EDT 2010


  - Adds 'release_status' and 'dist_suffix' properties in preparation
    for adding CPAN Meta Spec 2 support.  'dist_suffix' will be set
    to 'TRIAL' automatically when necessary. [David Golden]

  - Makes 'license' more liberal.  You can now specify either a license
    key from the approved list (c.f. Module::Build::API) or just a
    Software::License subclass name (e.g. 'Perl_5').  This should
    provide better support for custom or proprietary licenses.
    [David Golden]

0.36_13 - Wed Jul 28 22:40:25 EDT 2010


 - Bundled Module::Build::Version updated to bring into sync with CPAN 0.82 [David Golden]

0.36_12 - Tue Jul 27 00:08:51 EDT 2010


  - Module::Build::Compat will now convert dotted-decimal prereqs into
    decimal rather than dying (and will warn about this). [Apocalypse]

  Bug fixes:

  - Caches case-sensitivity checks to boost performance, fixes
    RT#55162 and RT#56513 [Reini Urban]

  - Won't try to use ActivePerl doc generation tools without confirming
    that they are indeed installed. [David Golden]

  - Sets temporary $ENV{HOME} in testing to an absolute path, which fixes
    some issues when tested as part of the Perl core [Nicholas Clark]

  - Module::Build::ModuleInfo now warns instead of dying when a module
    has an invalid version.  ->version now just returns undef
    (RT#59593) [David Golden]


  - When authors do not specify Module::Build in configure_requires and
    Module::Build is automatically added, a warning will be issued
    showing the added prerequisite [David Golden]

  - Moved automatic configure_requires generation into get_metadata()
    and added an 'auto' argument to toggle it (on for META and off
    for MYMETA) [David Golden]

0.36_11 - Thu May 27 09:41:23 EDT 2010

  Bug fixes:

  - Handle META/MYMETA reading and writing within Module::Build to ensure
    utf8 mode on filehandles.  Now passes/gets only strings to YAML::Tiny
    or Module::Build::YAML

0.36_10 - Wed May 19 18:36:06 EDT 2010

  Bug fixes:

  - Fix failing t/manifypods.t on Windows from 0.36_09 changes [Klaus

0.36_09 - Tue May 11 09:19:12 EDT 2010

  Bug fixes:

  - Improve HTML documentation generation on ActivePerl (RT#53478)
    [Scott Renner and Klaus Eichner]

0.36_08 - Mon Apr 26 08:00:15 EDT 2010


 - Give a list of valid licenses when given one we don't recognize
   (RT#55951) [Yanick Champoux]

 - Added 'Build manifest_skip' action to generate a default MANIFEST.SKIP
   [David Golden]


 - When temporarily generating a MANIFEST.SKIP when none exists, it will
   be removed on exit instead of hanging around until 'Build clean'.  This
   is less surprising/confusing and the 'Build manifest_skip' action
   is now available instead to bootstrap the file [David Golden]

 Bug fixes:

 - Fixed runtime error on cygwin when searching for an executable command
   during installdeps testing [David Golden]

12 years agoremove duplicates in perlxstut.pod
Hongwen Qiu [Tue, 25 Jan 2011 03:46:03 +0000 (11:46 +0800)]
remove duplicates in perlxstut.pod

12 years agocorrect myself's name in AUTHORS
Hongwen Qiu [Tue, 25 Jan 2011 02:18:10 +0000 (10:18 +0800)]
correct myself's name in AUTHORS

12 years ago[perl #82738] Add L<> to more links.
Michael Stevens [Mon, 24 Jan 2011 20:34:58 +0000 (12:34 -0800)]
[perl #82738] Add L<> to more links.

12 years ago[perl #82730] Fix filename reference to perldelta_template.
Michael Stevens [Mon, 24 Jan 2011 20:34:16 +0000 (12:34 -0800)]
[perl #82730] Fix filename reference to perldelta_template.

12 years agoMake t/porting/buildtoc.t use runperl for portability.
Craig A. Berry [Tue, 25 Jan 2011 00:58:35 +0000 (18:58 -0600)]
Make t/porting/buildtoc.t use runperl for portability.

12 years agomake reg_eval_scope.t TODOs consistently fail
David Mitchell [Mon, 24 Jan 2011 22:10:20 +0000 (22:10 +0000)]
make reg_eval_scope.t TODOs consistently fail

Some of the TODO tests in reg_eval_scope.t spuriously passed under
non-threaded builds. Make the tests harder so they always fail.

Since one of the key bugs in (?{..}) is the trashing of the parent pad,
add some extra lexical vars to the parent scope and check they're still
there at the end.

12 years agofix harmless invalid read in Perl_re_compile()
David Mitchell [Mon, 24 Jan 2011 17:38:37 +0000 (17:38 +0000)]
fix harmless invalid read in Perl_re_compile()

[perl #2460] described a case where electric fence reported an invalid
read. This could be reproduced under valgrind with blead and -e'/x/',
but only on a non-debugging build.

This was because it was checking for certain pairs of nodes (e.g. BOL + END)
and wasn't allowing for EXACT nodes, which have the string at the next
node position when using a naive NEXTOPER(first). In the non-debugging
build, the nodes aren't initialised to zero, and a 1-char EXACT node isn't
long enough to spill into the type field of the "next node".

Fix this by only using NEXTOPER(first) when we know the first node is

12 years ago[pod] typo fix for perlxstut.pod
Hongwe Qiu [Mon, 24 Jan 2011 11:22:18 +0000 (19:22 +0800)]
[pod] typo fix for perlxstut.pod

12 years agoAdd Hongwe Qiu to AUTHORS
Father Chrysostomos [Mon, 24 Jan 2011 17:57:49 +0000 (09:57 -0800)]
Add Hongwe Qiu to AUTHORS

12 years agoPut AUTHORS in alphabetical order
Father Chrysostomos [Mon, 24 Jan 2011 17:57:08 +0000 (09:57 -0800)]
Put AUTHORS in alphabetical order

I have not checked the whole file. I just noticed this bit.

12 years ago[perl #82722] Give more filenames and urls L<>
Michael Stevens [Mon, 24 Jan 2011 17:53:18 +0000 (09:53 -0800)]
[perl #82722] Give more filenames and urls L<>

12 years ago[perl #82718] Improve English and add some L<> around http links
Michael Stevens [Mon, 24 Jan 2011 17:52:43 +0000 (09:52 -0800)]
[perl #82718] Improve English and add some L<> around http links

12 years ago[perl #82712] Pod link fixes to use correct markup.
Michael Stevens [Mon, 24 Jan 2011 17:51:57 +0000 (09:51 -0800)]
[perl #82712] Pod link fixes to use correct markup.

(found using code from Karl Williamson <>)

12 years ago[perl #82710] Fix incorrect pod link markup.
Michael Stevens [Mon, 24 Jan 2011 17:51:30 +0000 (09:51 -0800)]
[perl #82710] Fix incorrect pod link markup.

(found using code from Karl Williamson <>)

12 years ago[perl #82708] Fix unescaped chars in L<>.
Michael Stevens [Mon, 24 Jan 2011 17:51:04 +0000 (09:51 -0800)]
[perl #82708] Fix unescaped chars in L<>.

12 years ago[perl #82706] Tidy up README.win32 pod.
Michael Stevens [Mon, 24 Jan 2011 17:50:35 +0000 (09:50 -0800)]
[perl #82706] Tidy up README.win32 pod.

Surround http:// links with L<> and tidying up lists slightly.

12 years ago[perl #82704] Change bare link in pod to L<...>
Michael Stevens [Mon, 24 Jan 2011 16:40:14 +0000 (08:40 -0800)]
[perl #82704] Change bare link in pod to L<...>

12 years ago[perl #82702] Fix commit message internal link.
Michael Stevens [Mon, 24 Jan 2011 16:39:33 +0000 (08:39 -0800)]
[perl #82702] Fix commit message internal link.

12 years agoExchange dist/Env/t/{array,env}.t, which were transposed by b695f709e8a342e3
Nicholas Clark [Mon, 24 Jan 2011 16:24:28 +0000 (16:24 +0000)]
Exchange dist/Env/t/{array,env}.t, which were transposed by b695f709e8a342e3

12 years agoConvert Env's tests to Test::More
Nicholas Clark [Mon, 24 Jan 2011 16:22:57 +0000 (16:22 +0000)]
Convert Env's tests to Test::More

12 years agoConvert if's test to Test::More
Nicholas Clark [Mon, 24 Jan 2011 16:05:36 +0000 (16:05 +0000)]
Convert if's test to Test::More

12 years agoConvert Storable's store.t to Test::More
Nicholas Clark [Mon, 24 Jan 2011 15:47:50 +0000 (15:47 +0000)]
Convert Storable's store.t to Test::More

The non-obvious reason for the test count increasing from 20 to 21 is that the
file used to read:

print "not " unless open(OUT, 'store');
binmode OUT;

$r = fd_retrieve(::OUT);
print "not " unless defined $r;
print "ok 12\n";

12 years agoConvert I18N::Colate's test to Test::More.
Nicholas Clark [Mon, 24 Jan 2011 15:33:52 +0000 (15:33 +0000)]
Convert I18N::Colate's test to Test::More.

12 years agoMerge into regen/, to generate keywords.[ch]
Nicholas Clark [Mon, 24 Jan 2011 11:06:50 +0000 (11:06 +0000)]
Merge into regen/, to generate keywords.[ch]

Prepend + or - in front of all the keyword names in __DATA__ to mark weak and
strong keywords, needed for keyword.c

As keywords.c needs Devel::Tokenizer::C 0.05, not a core module (and not a
common module either) we can no longer run it as part of So store
the sha256 of the source in the generated files, and use this in to check that
they are not stale (in t/porting/regen.t)

12 years agoBreak out the generated function Perl_keywords() into keywords.c, a new file.
Nicholas Clark [Mon, 24 Jan 2011 10:30:51 +0000 (10:30 +0000)]
Break out the generated function Perl_keywords() into keywords.c, a new file.

As it and Perl_yylex() both need FEATURE_IS_ENABLED, feature_is_enabled() is
no longer static, and the two macro definitions move from toke.c to perl.h

Previously, one had to cut and paste the output of into the
middle of toke.c, and it was not clear that it was generated code.

12 years agoPropagate 2 edits made in Perl_keywords() back to
Nicholas Clark [Mon, 24 Jan 2011 09:43:21 +0000 (09:43 +0000)]
Propagate 2 edits made in Perl_keywords() back to

7918f24d20384771 added PERL_ARGS_ASSERT_KEYWORD and 9b38784150c0aca5 combined
Perl_ckwarn_d() and Perl_warner() into Perl_ck_warner_d().

12 years agoregen/ can test that l1_char_class_tab.h is up to date.
Nicholas Clark [Mon, 24 Jan 2011 08:11:44 +0000 (08:11 +0000)]
regen/ can test that l1_char_class_tab.h is up to date.

12 years agoMove from Porting/ to regen/
Nicholas Clark [Mon, 24 Jan 2011 08:00:47 +0000 (08:00 +0000)]
Move from Porting/ to regen/

12 years agoConvert to use
Nicholas Clark [Mon, 24 Jan 2011 06:28:19 +0000 (06:28 +0000)]
Convert to use

Change it to read CaseFolding.txt from lib/unicore, instead of the file
installed with perl, so that it can run with an uninstalled perl.

Add "read only" editor blocks to l1_char_class_tab.h

12 years agoMove the non-generated parts of l1_char_class_tab.h out into handy.h
Nicholas Clark [Sun, 23 Jan 2011 21:51:23 +0000 (21:51 +0000)]
Move the non-generated parts of l1_char_class_tab.h out into handy.h

Now the contents of l1_char_class_tab.h is only the output of

12 years agoOverride _fixin_replace_shebang on VMS so MM->fixin works.
Craig A. Berry [Mon, 24 Jan 2011 00:33:01 +0000 (18:33 -0600)]
Override _fixin_replace_shebang on VMS so MM->fixin works.

Script generation doesn't look like it's ever worked on VMS, but
this hasn't been that big a deal because all the utilities
distributed with the core have their own generation facilities
under utils/.  However, Nicholas wants to put that directory on
a diet and have the scripts be generated by the modules that own

So we have to get script generation via MM->fixin working, and we
do that here by prepending the same $Config{startperl} incantation
to the shebang line that we've been using in core for eons.

Tracks upstream commit:

12 years agoSplit shebang line fix-up from file processing in MM->fixin().
Craig A. Berry [Mon, 24 Jan 2011 00:30:56 +0000 (18:30 -0600)]
Split shebang line fix-up from file processing in MM->fixin().

By putting the shebang line gyrations on their own in the new
_fixin_replace_shebang method, we can override that part without
dragging along the file processing code.

Tracks upstream commit:

12 years agot/porting/regen.t can test that regcharclass.h is up to date.
Nicholas Clark [Sun, 23 Jan 2011 21:29:12 +0000 (21:29 +0000)]
t/porting/regen.t can test that regcharclass.h is up to date.

As regen/ uses and rename_if_different(), all that
is needed is to pass it --tap on the command line.

12 years agoMove from Porting/ to regen/
Nicholas Clark [Sun, 23 Jan 2011 21:08:12 +0000 (21:08 +0000)]
Move from Porting/ to regen/

12 years agoConvert to use
Nicholas Clark [Sun, 23 Jan 2011 21:03:05 +0000 (21:03 +0000)]
Convert to use

This results in small changes to the formatting of the generated comments
in regcharclass.h

12 years ago[perl #82650] Ignore DTrace build product
David Leadbeater [Sun, 23 Jan 2011 20:39:28 +0000 (12:39 -0800)]
[perl #82650] Ignore DTrace build product

12 years agoAvoid blank lines in META.yml
Nicholas Clark [Sun, 23 Jan 2011 19:15:23 +0000 (19:15 +0000)]
Avoid blank lines in META.yml

12 years agot/porting/regen.t can test that META.yml is up to date.
Nicholas Clark [Sun, 23 Jan 2011 18:42:39 +0000 (18:42 +0000)]
t/porting/regen.t can test that META.yml is up to date.

As Porting/makemeta uses and rename_if_different(), all that is
needed is to pass it --tap on the command line.

t/porting/regen.t now tests that all files mentioned in the release managers
guide are up to date (and tests will fail if they are not), hence there is now
no need for the release manager to explicitly test that generated files are
not stale.

12 years agoStore the SHA-256 of the source in files generated by
Nicholas Clark [Sun, 23 Jan 2011 18:29:20 +0000 (18:29 +0000)]
Store the SHA-256 of the source in files generated by

bison isn't available everywhere, so we can't simply re-run to
verify that perly.{act,h,tab} are up to date. So instead store the SHA-256 of
the input files, and extend t/porting/regen.t to check that the input files
haven't been changed subsequently.

12 years agoOutput "read only" editor blocks from
Nicholas Clark [Sun, 23 Jan 2011 16:25:30 +0000 (16:25 +0000)]
Output "read only" editor blocks from

Use safer_open() and read_only_bottom_close_and_rename() from
Consistently use 3 argument open and lexical file handles.

A side effect of this change is that the generated files are no longer made
read-only on disk - if this is desirable, then probably better to change so that all generated files are made read-only.

12 years agoTracked down some other places to make the Unicode-Collate changes
Chris 'BinGOs' Williams [Sun, 23 Jan 2011 16:51:54 +0000 (16:51 +0000)]
Tracked down some other places to make the Unicode-Collate changes

12 years agoUpdate Unicode-Collate to CPAN version 0.72
Chris 'BinGOs' Williams [Sun, 23 Jan 2011 16:48:32 +0000 (16:48 +0000)]
Update Unicode-Collate to CPAN version 0.72

  Second attempt to integrate the XS version of
  Unicode::Collate into core.


  0.72  Sat Jan 22 17:28:32 2011
    - xs: fix mixing char* and U8*.

  0.71  Tue Jan 18 22:29:44 2011
    - t/loc_test.t should not fail without Unicode::Normalize.

  0.70  Sun Jan 16 20:31:07 2011
    - Now U::C::Locale->new will use the compiled DUCET via XS if available.
      added some tests in t/loc_test.t.

  0.69  Sat Jan 15 19:41:11 2011
    - clarified about XSUB. revised INSTALL in README.
    - xs: flag passed to utf8n_to_uvuni().
    - doc and comments: [perl #81876] Fix typos by Peter J. Acklam.

12 years agoUpdate ExtUtils::CBuilder in
David Golden [Sun, 23 Jan 2011 15:53:40 +0000 (10:53 -0500)]
Update ExtUtils::CBuilder in

12 years agobump ExtUtils::CBuilder version numbers
David Golden [Sun, 23 Jan 2011 15:29:41 +0000 (10:29 -0500)]
bump ExtUtils::CBuilder version numbers

12 years agoIn regen scripts, print to explicit file handles instead of using select.
Nicholas Clark [Sun, 23 Jan 2011 11:15:14 +0000 (11:15 +0000)]
In regen scripts, print to explicit file handles instead of using select.

Also put explicit quotes on heredoc declarations to show whether they should
interpolate, merge some heredocs, and remove & from calls to &tab(...)

12 years agoMove the duplicated subroutine tab() into
Nicholas Clark [Sun, 23 Jan 2011 10:51:29 +0000 (10:51 +0000)]
Move the duplicated subroutine tab() into

12 years agoChange close_and_rename() to read_only_bottom_close_and_rename()
Nicholas Clark [Sun, 23 Jan 2011 10:38:58 +0000 (10:38 +0000)]
Change close_and_rename() to read_only_bottom_close_and_rename()

All users of close_and_rename() were printing out the appropriate "ex: set ro:"
string to the file handle immediately before closing it. So move that into
the common function and rename it to reflect what it now does. [Except, which should have been, given that it calls read_only_top()]

Print a newline above the "ex: set ro:" line. This removes many newlines from
the regen scripts, but does add newlines to a couple of generated files.

12 years agoIn regen/*.pl, refactor the repeated code for close and rename if different.
Nicholas Clark [Sun, 23 Jan 2011 10:07:52 +0000 (10:07 +0000)]
In regen/*.pl, refactor the repeated code for close and rename if different.

Pass the final file name as an optional second argument of safer_open() and
store it with the file handle. Add a function close_and_rename() which closes
the file handle, then retrieves the final name, and renames the temporary file
if the two differ.

12 years agoIn, when opening, first unlink a previous file of that name.
Nicholas Clark [Sun, 23 Jan 2011 09:39:21 +0000 (09:39 +0000)]
In, when opening, first unlink a previous file of that name.

Previously had an explicit unlink for the file it creates, but none
of the other regen/*.pl scripts did. Also, remove commented out code relating
to unlink.

12 years agoIn use a meaningful key for storing the file's name.
Nicholas Clark [Sun, 23 Jan 2011 09:15:58 +0000 (09:15 +0000)]
In use a meaningful key for storing the file's name. is actually using the hash slot of the typeglob, not the scalar
slot. Typeglob syntax is particularly confusing and prone to errors, although
in this case it doesn't make any behaviour difference.

12 years agoFrom: Benny Siegert <>
H.Merijn Brand [Sun, 23 Jan 2011 09:17:39 +0000 (10:17 +0100)]
From: Benny Siegert <>
Date: Thu, 20 Jan 2011 19:27:04 +0100
Subject: [PATCH] MirBSD: fix rpath for shared libperl

If you build perl with a shared on MirBSD (the default config),
it will work up to the installation; however, once installed, it will be
unable to find libperl. Treat rpath handling like in the other BSD

Signed-off-by: H.Merijn Brand <>
12 years hasn't generated files named *-old since 2008, so don't delete them.
Nicholas Clark [Sun, 23 Jan 2011 07:59:25 +0000 (07:59 +0000)] hasn't generated files named *-old since 2008, so don't delete them.

Commit b6b9a09997c80269 removed the last vestiges of the code that generated
any files named *-old, but the code to clean them up remained. It serves no

12 years agoregen/ should use rename_if_different() for lib/overload/
Nicholas Clark [Sun, 23 Jan 2011 07:35:47 +0000 (07:35 +0000)]
regen/ should use rename_if_different() for lib/overload/

It was the only file generated by any of the regen/*.pl scripts which was
always written out directly, instead of first creating a temporary file, and
only moving that if successfully generated (and different).

12 years agoMove all the generated file header printing into read_only_top()
Nicholas Clark [Sun, 23 Jan 2011 00:09:24 +0000 (00:09 +0000)]
Move all the generated file header printing into read_only_top()

Previously all the scripts in regen/ had code to generate header comments
(buffer-read-only, "do not edit this file", and optionally regeneration
script, regeneration data, copyright years and filename).

This change results in some minor reformatting of header blocks, and
standardises the copyright line as "Larry Wall and others".

12 years agoUpdate TOC for perl51310delta
Jesse Vincent [Sat, 22 Jan 2011 23:58:39 +0000 (18:58 -0500)]
Update TOC for perl51310delta

12 years agoperldelta for 5.13.10
Jesse Vincent [Sat, 22 Jan 2011 23:57:46 +0000 (18:57 -0500)]
perldelta for 5.13.10

12 years agoIn, move the logic for perlapi.c's Tolkien quote out from do_not_edit()
Nicholas Clark [Sat, 22 Jan 2011 23:29:59 +0000 (23:29 +0000)]
In, move the logic for perlapi.c's Tolkien quote out from do_not_edit()

Previously do_not_edit() has a special case for this based on the filename
parameter. Now the code to add the comment is next to the relevant call to

12 years ago"Don't repeat yourself" in regen/
Nicholas Clark [Sat, 22 Jan 2011 22:19:45 +0000 (22:19 +0000)]
"Don't repeat yourself" in regen/

12 years agoRemove Mac OS classic special case code from Cwd's cwd.t
Nicholas Clark [Sat, 22 Jan 2011 20:15:05 +0000 (20:15 +0000)]
Remove Mac OS classic special case code from Cwd's cwd.t

12 years agoConvert File::Spec's remaining tests to Test::More from Test.
Nicholas Clark [Sat, 22 Jan 2011 19:56:41 +0000 (19:56 +0000)]
Convert File::Spec's remaining tests to Test::More from Test.

12 years agoRemove Mac OS classic only tests from Cwd's Spec.t
Nicholas Clark [Sat, 22 Jan 2011 19:17:36 +0000 (19:17 +0000)]
Remove Mac OS classic only tests from Cwd's Spec.t

As MacOS was the only platform with platform-only tests, we can also remove the
entire skip-if-not-this-platform infrastructure. Also, as tryfunc() is only
called from one place, inline it.

12 years agoConvert I18N::LangTags to Test::More from Test.
Nicholas Clark [Sat, 22 Jan 2011 18:18:27 +0000 (18:18 +0000)]
Convert I18N::LangTags to Test::More from Test.

12 years agoRemove duplicate test for $ENV{LANG} in I18N::LangTags test 80_all_env.t
Nicholas Clark [Sat, 22 Jan 2011 17:34:28 +0000 (17:34 +0000)]
Remove duplicate test for $ENV{LANG} in I18N::LangTags test 80_all_env.t

12 years agoConvert Net::Ping's tests to use Test::More from Test.
Nicholas Clark [Sat, 22 Jan 2011 16:21:35 +0000 (16:21 +0000)]
Convert Net::Ping's tests to use Test::More from Test.

12 years agoChanges: correct mis-indentation introduced in dc7c5368d1
Ævar Arnfjörð Bjarmason [Sat, 22 Jan 2011 14:11:39 +0000 (14:11 +0000)]
Changes: correct mis-indentation introduced in dc7c5368d1

Michael Stevens corrected the link to the 5.10.0 tarball in
dc7c5368d173865841aa41764f828d34e663e0bc, but changed four spaces to a
tab in the process.

Since Changes does not otherwise use tabs for indenting convert this
back to four spaces.

Signed-off-by: Ævar Arnfjörð Bjarmason <>
12 years agoStop EU::CBuilder's tests from failing in parallel
Florian Ragwitz [Sat, 22 Jan 2011 08:03:20 +0000 (09:03 +0100)]
Stop EU::CBuilder's tests from failing in parallel

It used to use the same paths for temporary files in all tests. This blew up
randomly when the tests were run in parallel.

12 years agoUpdate Changes and bump Module::CoreList to 2.44 for a CPAN release
Chris 'BinGOs' Williams [Sat, 22 Jan 2011 13:08:05 +0000 (13:08 +0000)]
Update Changes and bump Module::CoreList to 2.44 for a CPAN release

12 years agofix 5.12.3 release date
Ricardo Signes [Sat, 22 Jan 2011 12:39:52 +0000 (07:39 -0500)]
fix 5.12.3 release date

12 years agoadd 5.12.3 hsitory to perlhist
Ricardo Signes [Sat, 22 Jan 2011 12:36:22 +0000 (07:36 -0500)]
add 5.12.3 hsitory to perlhist

12 years agoConvert buildtoc to lexical file handles and 3-arg open.
Nicholas Clark [Sat, 22 Jan 2011 12:37:53 +0000 (12:37 +0000)]
Convert buildtoc to lexical file handles and 3-arg open.

In the refactoring, I don't see any reason to retain void context explicit
close of lexical filehandles opened for reading.

12 years agoExtend pod/buildtoc --test to validate that regenerated files are up to date.
Nicholas Clark [Sat, 22 Jan 2011 12:21:45 +0000 (12:21 +0000)]
Extend pod/buildtoc --test to validate that regenerated files are up to date.

12 years agoIn buildtoc, only have entries in %Build for targets being built.
Nicholas Clark [Sat, 22 Jan 2011 12:05:22 +0000 (12:05 +0000)]
In buildtoc, only have entries in %Build for targets being built.

Also, use the file names as values. Effectively now it is a slice of %Targets,
containing just things to be built.

Previously it held all targets (and the phony 'all' target), and had
defined/undefined values for whether they should be built.

12 years agoIn buildtoc, only "find all the modules" if rebuilding pod/perltoc.pod
Nicholas Clark [Sat, 22 Jan 2011 11:35:12 +0000 (11:35 +0000)]
In buildtoc, only "find all the modules" if rebuilding pod/perltoc.pod

The results of the expensive scan aren't needed for any of the other targets.

12 years agoIn buildtoc, rename &output_perltoc to &do_toc, and integrate its invocation.
Nicholas Clark [Sat, 22 Jan 2011 11:25:34 +0000 (11:25 +0000)]
In buildtoc, rename &output_perltoc to &do_toc, and integrate its invocation.

There is still some special casing, as all other targets modify an existing
file, but with this change more code is shared.

12 years agoIn buildtoc, pull the sanity check for NUL bytes to the top level.
Nicholas Clark [Sat, 22 Jan 2011 11:15:14 +0000 (11:15 +0000)]
In buildtoc, pull the sanity check for NUL bytes to the top level.

It's needed in 3 of the do_* routines, and causes no problems for the others.

12 years agoIn buildtoc, convert all the do_* functions to taking 2 scalars.
Nicholas Clark [Sat, 22 Jan 2011 11:05:08 +0000 (11:05 +0000)]
In buildtoc, convert all the do_* functions to taking 2 scalars.

Previously they took a list of lines from the file, and all except
do_manifest() immediately joined it back to a single scalar. Instead, slurp
the file in whole, and do_manifest() split it out.

Also, change the code that invokes do_* to accept only a scalar as a return,
now that all functions return a scalar, rather than (potentially) a list to

12 years agoIn buildtoc, convert do_manifest() to returning a scalar.
Nicholas Clark [Sat, 22 Jan 2011 10:51:37 +0000 (10:51 +0000)]
In buildtoc, convert do_manifest() to returning a scalar.

Previously it (alone of the do_* functions) returned a list for the regenerated
file's contents.

12 years agoRe-add 5.12.3's release date to Module::Corelist.
Nicholas Clark [Sat, 22 Jan 2011 09:34:11 +0000 (09:34 +0000)]
Re-add 5.12.3's release date to Module::Corelist.

This was missed by change 57e52dbefae98516, which reverted 01bc7817c9b86c12,
because 5.12.3's release date was removed as an inadvertent side effect of
e0698539c3e1cd22, the change to add 5.13.9

12 years agoAdd perl5123delta.pod to MANIFEST and pod.lst, after f1d4662fac7469d5.
Nicholas Clark [Sat, 22 Jan 2011 09:15:39 +0000 (09:15 +0000)]
Add perl5123delta.pod to MANIFEST and pod.lst, after f1d4662fac7469d5.

re-run pod/buildtoc to propagate the new file to the relevant platform

12 years agopick perl5123delta.pod from maint-5.12
Ricardo Signes [Sat, 22 Jan 2011 03:13:50 +0000 (22:13 -0500)]
pick perl5123delta.pod from maint-5.12

12 years agore-add 5.12.3 versions
Ricardo Signes [Sat, 22 Jan 2011 03:12:37 +0000 (22:12 -0500)]
re-add 5.12.3 versions

12 years agofix bizarre date typo in 5.12.2 epigraph
Ricardo Signes [Sat, 22 Jan 2011 03:09:53 +0000 (22:09 -0500)]
fix bizarre date typo in 5.12.2 epigraph

12 years agoadd v5.12.3 epigram
Ricardo Signes [Sat, 22 Jan 2011 03:09:26 +0000 (22:09 -0500)]
add v5.12.3 epigram

12 years ago[perl #82526] Fix kldp links.
Michael Stevens [Thu, 20 Jan 2011 13:49:18 +0000 (13:49 +0000)]
[perl #82526] Fix kldp links.

12 years agoFix an invalid =item warning.
Michael Stevens [Mon, 17 Jan 2011 18:23:15 +0000 (18:23 +0000)]
Fix an invalid =item warning.