This is a live mirror of the Perl 5 development currently hosted at
12 years agoMore charnames pod updates
Karl Williamson [Sat, 3 Jul 2010 16:22:04 +0000 (10:22 -0600)]
More charnames pod updates

12 years agocharnames: check for use bytes in vianame; efficiency
Karl Williamson [Sat, 3 Jul 2010 16:12:33 +0000 (10:12 -0600)]
charnames: check for use bytes in vianame; efficiency

When vianame returns a chr, it now verifies that it is legal under 'use
bytes'.  Update .t

An instance of taking of a substr of a huge string is needed only in an
error leg.  Move it to that leg for performance.

And make the message a subroutine so will be identical whenever raised.

12 years agoClean up charnames pod, including new changes
Karl Williamson [Thu, 1 Jul 2010 22:25:08 +0000 (16:25 -0600)]
Clean up charnames pod, including new changes

This patch brings the charnames pod up-to-date, and rewords it to
hopefully be more clear.

12 years agoClean up viacode, accept large aliases
Karl Williamson [Thu, 1 Jul 2010 22:22:14 +0000 (16:22 -0600)]
Clean up viacode, accept large aliases

This changes viacode to accept aliases that the user has defined beyond
the Unicode range.

12 years agoExtend \N{} enhancements to vianame()
Karl Williamson [Thu, 1 Jul 2010 22:06:51 +0000 (16:06 -0600)]
Extend \N{} enhancements to vianame()

This patch refactors charnames so that vianame and \N call the same
common subroutine so that they have as identical behavior as possible.

12 years agoBump version; some pod cleanup
Karl Williamson [Wed, 30 Jun 2010 21:27:39 +0000 (15:27 -0600)]
Bump version; some pod cleanup

12 years agocharnames: add CORE:: to hex()
Karl Williamson [Wed, 30 Jun 2010 21:19:39 +0000 (15:19 -0600)]
charnames: add CORE:: to hex()

Other programs do this; I don't know why just hex() needs to be
protected from user override, but I'm just copying prior art.

12 years agoAbandon plans to change viacode's return of unassigned
Karl Williamson [Wed, 30 Jun 2010 20:55:16 +0000 (14:55 -0600)]
Abandon plans to change viacode's return of unassigned

The BUGS section of the charnames pod said that it was a bug to return
undef for unassigned characters, whereas the real Unicode name is the
empty string.  demerphq noted that undef stringifies to the empty
string, so we are in fact in compliance with the standard.  This
clarifies the pod wording, removing the text from the BUGS section.

12 years agoAllow defining custom charnames to ordinals
Karl Williamson [Wed, 30 Jun 2010 20:42:59 +0000 (14:42 -0600)]
Allow defining custom charnames to ordinals

This adds the ability of a user to create a custom alias that maps to a
numeric ordinal value, instead of an official Unicode name.

The number of hashes went up so that is better to refer to them by a
name than a number, so I renamed them.

Also, viacode will return any defined user's alias for an otherwise
unamed code point.

This change is principally so that private use characters can be named
so it is more convenient to use them in Perl.

12 years agoAdd clarifying comments to charnames.t
Karl Williamson [Wed, 30 Jun 2010 19:48:33 +0000 (13:48 -0600)]
Add clarifying comments to charnames.t

12 years agoReword feedback request.
Karl Williamson [Wed, 30 Jun 2010 19:46:39 +0000 (13:46 -0600)]
Reword feedback request.

It's not clear to me what should be done about the problem of vianame
being bipolar.

12 years agoAdd a number of abbrs and variants to \N{}
Karl Williamson [Tue, 29 Jun 2010 18:54:33 +0000 (12:54 -0600)]
Add a number of abbrs and variants to \N{}

This patch adds the standard abbreviations for the control characters
(such as ACK, BEL, etc) to the repertoire that \N{} knows about.  It
also adds a few common variants of their full names, and the old names
for the 4 controls that Unicode has chosen not to have any names at all

The patch also adds all the abbreviations that Unicode lists in 5.2 for
longer characters, such as NBSP, SHY, LRE, ...

To preserve complete backward compatibilty for these and future changes,
user-defined aliases are now checked first, before these are.

As a performance enhancement, these aliases are mapped to their actual
code values instead of their full names which then had to be looked up
in the large table.  Now that is avoided, and the table is not loaded
at all until a name is encountered that is not one of these aliases.

The pod and .t are updated.

12 years agoRemove a release_manager_guide step since it's now been automated away
Jesse Vincent [Sun, 4 Jul 2010 15:47:34 +0000 (11:47 -0400)]
Remove a release_manager_guide step since it's now been automated away

12 years agoUpdate Makefile to regen META.yml as it regens other files in regen_all
Jesse Vincent [Sun, 4 Jul 2010 15:44:03 +0000 (11:44 -0400)]
Update Makefile to regen META.yml as it regens other files in regen_all

12 years agoMake the META.yml regen code use per the request in release_mananger_guide,
Jesse Vincent [Sun, 4 Jul 2010 15:40:33 +0000 (11:40 -0400)]
Make the META.yml regen code use per the request in release_mananger_guide,

12 years agoMissing AUTHORS will now generate failing tests. Removing the manual
Jesse Vincent [Sun, 4 Jul 2010 15:17:20 +0000 (11:17 -0400)]
Missing AUTHORS will now generate failing tests. Removing the manual
checkAUTHORS step from the release engineering guide.

12 years agoMake checkAUTHORS a test to further reduce the release burden
Jesse Vincent [Sun, 4 Jul 2010 15:15:35 +0000 (11:15 -0400)]
Make checkAUTHORS a test to further reduce the release burden

12 years agoFurther refactoring of checkAUTHORS
Jesse Vincent [Sun, 4 Jul 2010 15:14:55 +0000 (11:14 -0400)]
Further refactoring of checkAUTHORS

12 years agorefactoring checkAUTHORS in advance of testifcation
Jesse Vincent [Sun, 4 Jul 2010 14:38:50 +0000 (10:38 -0400)]
refactoring checkAUTHORS in advance of testifcation

12 years agoBring AUTHORS up to date
Jesse Vincent [Sun, 4 Jul 2010 14:25:02 +0000 (10:25 -0400)]
Bring AUTHORS up to date

12 years agoFix Digest-MD5 tests to run properly under core
Chris 'BinGOs' Williams [Sun, 4 Jul 2010 19:02:28 +0000 (20:02 +0100)]
Fix Digest-MD5 tests to run properly under core

12 years agoUpdate Digest-MD5 to CPAN version 2.40
Chris 'BinGOs' Williams [Sun, 4 Jul 2010 15:46:01 +0000 (16:46 +0100)]
Update Digest-MD5 to CPAN version 2.40


  2010-07-03   Gisle Aas <>

    Release 2.40

    Marc Pignat (1):
      Safer alignment test [RT#35823]

    Robin Barker (1):
      consting in new ext/

    Gisle Aas (1):
      Remove the MacOS branch of this test

12 years agoremove trailing space in cmpVERSION
David Golden [Sun, 4 Jul 2010 18:56:21 +0000 (14:56 -0400)]
remove trailing space in cmpVERSION

12 years agoMake Test::Harness source_handler.t use the build perl (%PERL_CORE%) on Win32.
George Greer [Sun, 4 Jul 2010 17:09:56 +0000 (13:09 -0400)]
Make Test::Harness source_handler.t use the build perl (%PERL_CORE%) on Win32.

12 years agoAdd Matt Johnson to AUTHORS.
Craig A. Berry [Sun, 4 Jul 2010 14:49:55 +0000 (09:49 -0500)]
Add Matt Johnson to AUTHORS.

12 years agodocs: updates for git-based
Matt Johnson [Sat, 3 Jul 2010 18:08:15 +0000 (19:08 +0100)]
docs: updates for git-based

Update the release_managers_guide.pod with the new command usage,
and remove the todo item

12 years agoUpdate Porting/ to use git
Matt Johnson [Sat, 3 Jul 2010 18:01:58 +0000 (19:01 +0100)]
Update Porting/ to use git

Update Porting/ to take a directory and a git tag,
rather than two directories, as suggested in perltodo.

12 years agoMake previous test fix conditional on the platform being Windows
Rafael Garcia-Suarez [Sun, 4 Jul 2010 11:31:57 +0000 (13:31 +0200)]
Make previous test fix conditional on the platform being Windows

12 years agoForce t/io/openpid.t to use the alarm() watchdog strategy.
George Greer [Sun, 4 Jul 2010 05:20:53 +0000 (01:20 -0400)]
Force t/io/openpid.t to use the alarm() watchdog strategy.

* The default watchdog strategy on Win32 doesn't work because the watchdog
is executed via subshell ("cmd /c perl -e '...'"). When the test finishes
and tries to kill the watchdog all it manages to do is whack cmd.exe and
the watchdog still fires, potentially killing an innocent process.

* Trying to use the fork() strategy instead causes openpid.t's test #9's
"ok" to be lost occasionally.  The message itself is generated by the 4th
child of the test and should go directly to stdout, but sometimes the
output vanishes for unexplained reasons.  This doesn't appear to happen
without the watchdog enabled.

* Using the alarm() watchdog strategy seems to not cause any badness.

12 years agoadd some comments to pp_concat
David Mitchell [Sat, 3 Jul 2010 16:01:33 +0000 (17:01 +0100)]
add some comments to pp_concat

make it clearer what type of concat each code branch handles

12 years handle not on a branch properly
David Mitchell [Sat, 3 Jul 2010 15:47:05 +0000 (16:47 +0100)] handle not on a branch properly

12 years agoavoid multiple FETCH/stringify on filetest ops
David Mitchell [Sat, 3 Jul 2010 14:41:34 +0000 (15:41 +0100)]
avoid multiple FETCH/stringify on filetest ops

some of the filetest operators could call mg_get and/or overload fallback
stringify multiple times

12 years agoadd my_[l]stat_flags(); make my_[l]stat() mathoms
David Mitchell [Sat, 3 Jul 2010 13:24:11 +0000 (14:24 +0100)]
add my_[l]stat_flags(); make my_[l]stat() mathoms

my_stat() and my_lstat() call get magic on the stack arg, so create _flags()
variants that allow us to control this. (I can't just change the signature
or the mg_get() behaviour since my_[l]stat() are listed as being in the
public API, even though they're undocumented.)

12 years agoPL_amagic_generation doesn't show overload loaded
David Mitchell [Sat, 3 Jul 2010 12:36:59 +0000 (13:36 +0100)]
PL_amagic_generation doesn't show overload loaded

PL_amagic_generation is non-zero even without the presence of
'use overload', so don't bother using it as a short-cut test of
whether we can skip AMAGIC processing

12 years agofix bad indentation in pp_regcomp
David Mitchell [Sat, 3 Jul 2010 12:24:08 +0000 (13:24 +0100)]
fix bad indentation in pp_regcomp

12 years agoavoid extra FETCHes on overloaded qr stringify
David Mitchell [Sat, 3 Jul 2010 12:17:40 +0000 (13:17 +0100)]
avoid extra FETCHes on overloaded qr stringify

/$tied/ called FETCH too many times if the FETCH returned an overloaded
object with no qr method, but with stringify fallback

12 years agooverload.t: clarify concat #FETCH expected
David Mitchell [Fri, 2 Jul 2010 21:06:49 +0000 (22:06 +0100)]
overload.t: clarify concat #FETCH expected

It turns out that the number of FETCHes for the fallback ($tied_ovld . foo)
just needed explaining, not fixing.

12 years agoremove double stringify-overload from $ovld .= foo
David Mitchell [Fri, 2 Jul 2010 20:33:01 +0000 (21:33 +0100)]
remove double stringify-overload from $ovld .= foo

There was a piece of code in pp_concat who's job it was to determine the
UT8ness of the LHS, and it did it in a heavy-handed way to cope with the
special case of a regexp (which is an RV pointing to REGEXP which might
be UTF8)

12 years agoeval: handle taint of overloaded/tied arg
David Mitchell [Wed, 23 Jun 2010 23:02:39 +0000 (00:02 +0100)]
eval: handle taint of overloaded/tied arg

string eval would check its arg for taint before processing magic, overload
etc. If the magic or overload returned a tainted value, it wouldn't
be detected. Fixes part of #75716.

12 years agoeval $overloaded can crash
David Mitchell [Tue, 22 Jun 2010 23:23:24 +0000 (00:23 +0100)]
eval $overloaded can crash

Perl_lex_start() assumes that the SV passed to it is a well-behaved
string that it can do PVX() stuff to. If it's actually a ref to an
overloaded object, it can crash and burn. Fixed by creating a stringified
copy of the SV if necessary.

12 years agofix tainting and overload
David Mitchell [Tue, 22 Jun 2010 16:03:12 +0000 (17:03 +0100)]
fix tainting and overload

Sometimes when an overload method returned a tainted value, that
taintedness got lost. This fixes #75716: overload removes tainting.

It also considerably expands the tied series of tests in overload.t.
It now taints the return value, and checks for correct taintedness.
It also tests against two overload packages: the new one only has fallback
methods, which affects the return path for the tainted value.

It now also compares the expected (non-tied, non-overload) expression
value against a overloaded version of that expression in addition to
versions where a tied var returned an overloaded object; e.g. in these
    1: 1 + $plain_value
    2: 1 + $overloaded_var
    3: 1 + $tied_scalar_that_returns_overloaded_value
    4: 1 + $tied_array_whose element_0_holds_an_overloaded_value[0]
then the value of expression 1 is compared against each of 2,3,4, whereas
before it was only compared against 3,4.

12 years agotaint-enable lib/overload.t
David Mitchell [Fri, 18 Jun 2010 21:45:45 +0000 (22:45 +0100)]
taint-enable lib/overload.t

Stick a -T at the top of lib/overload.t in preparation for adding some
taint tests later. This causes some of the current tests to fail, since
the FETCH count has changed: so we fix those up too. They change because
under taint, code like ${$x} is compiled as enter/gvsv/leave/rv2sv rather
than gvsv/rv2sv (see Perl_scope), and the leave creates a mortal copy of
the tied value, avoiding any further fetches.

12 years agoExporter version bump
Steffen Mueller [Sat, 3 Jul 2010 15:07:06 +0000 (17:07 +0200)]
Exporter version bump

After being modified by 9b86bb5cacfb65a283299b005919058f8a61701a.

12 years agoFix RT #74472 blocks Signal handling
Todd Rinaldo [Sat, 3 Jul 2010 13:32:08 +0000 (15:32 +0200)]
Fix RT #74472 blocks Signal handling overrides SIG{__WARN__}. This means It's not possible to
write a test to trap warning events for this error. Since all the line
seems to do is make the warning more verbose, I suggest it not be done
if someone has defined a custom signal. At the moment Test::NoWarnings
cannot trap these warnings because of this.

12 years agoSkip suid File::Copy tests on a nosuid partition
Ævar Arnfjörð Bjarmason [Thu, 13 May 2010 20:05:35 +0000 (20:05 +0000)]
Skip suid File::Copy tests on a nosuid partition

These tests were being skipped on OpenBSD, but nosuid partitions can
exist on other systems too. Now it just checks if it can create a suid
directory, if not the tests are skipped.

Perl builds without errors in a nosuid /tmp with this patch.

12 years agoAdjust 'make test.valgrind' to account for cpan/dist/ext separation.
George Greer [Fri, 2 Jul 2010 22:50:12 +0000 (18:50 -0400)]
Adjust 'make test.valgrind' to account for cpan/dist/ext separation.

Signed-off-by: H.Merijn Brand <>
12 years agoPlug more memory leaks in vms.c.
Craig A. Berry [Sat, 3 Jul 2010 00:04:35 +0000 (19:04 -0500)]
Plug more memory leaks in vms.c.

In Perl_rename() we were allocating the same thing twice.

In vms_fid_to_name() (used by realpath() and realname()), we had
another flagrant omission of freeing local storage.

12 years agoCorrect the version of the included Test-Harness in
Chris 'BinGOs' Williams [Fri, 2 Jul 2010 14:11:06 +0000 (15:11 +0100)]
Correct the version of the included Test-Harness in

12 years agoUpdate CPANPLUS to CPAN version 0.9005
Chris 'BinGOs' Williams [Fri, 2 Jul 2010 14:05:53 +0000 (15:05 +0100)]
Update CPANPLUS to CPAN version 0.9005


  Changes for 0.9005      Tue Jun 29 22:42:25 2010
  * Corrected spelling mistakes in POD, pointed out by H.Merijn Brand
  * Amend SQLite source engine to set SYNCHRONOUS pragma to OFF
  * Make sure that Selfupdate checks if CPANPLUS::Dist::Build is
    installed or not and update it if it is. Spotted by Ilmari
  * Apply a patch from Peter Ludikovsky RT #55782 that adds indexes
    to Source::SQLite

  Changes for 0.9004      Sat May  8 22:21:04 2010
  * Applied a patch from Schwern RT #53133 "test failure occurs if
    the build directory is symlinked"
  * Explicitly set the location of cpanp-run-perl when under PERL_CORE
    in t/inc/
  * Make sure that we find cpanp-run-perl in ../../utils when PERL_CORE
  * Apply a patch from Barbie [RT #56768], that fixes regex in
  * Fixed a typo in the POD for cpan2dist, pointed out by Babar
    (Olivier Raginel) on irc.
  * Add a BEGIN {} block to cpanp-run-perl this resolves RT #55964
    and RT #57106

  Changes for 0.9003      Mon Mar 15 13:51:12 2010
  * Resolve warnings when using blead perl, reported by Apocalypse RT #55501
  * Applied patch from Apocalypse RT #55541 that changes the
    behviour when a prereq on a core-only module is detected. We
    raise a warning now, but will proceed with the installation.
    This is how handles it.
  * Removed one duff mirror and an out-of-date mirror from
    our default mirror list. Replaced with fast-sync mirrors.

  Changes for 0.9002      Fri Mar 12 13:11:00 2010
  * Added support for CPAN Testers 2.0 (David Golden)

  Changes for 0.9001      Thu Dec 24 10:21:11 2009
  * RT #52988 Regression in Internals::Utils, reported by CRAKRJACK
  * Fix a regression with dist_type not being propagated

12 years agoMark UPSTREAM as 'cpan' for Digest-SHA at Mark Shelor's request.
Chris 'BinGOs' Williams [Fri, 2 Jul 2010 06:11:48 +0000 (07:11 +0100)]
Mark UPSTREAM as 'cpan' for Digest-SHA at Mark Shelor's request.

  Date: Thu, 01 Jul 2010 16:51:02 -0700
  User-Agent: Thunderbird (X11/20090817)
  To: "Chris 'BinGOs' Williams" <>
  Subject: Re: [Fwd: [ #58997] correct URL for SHA1 NIST test vectors]

  >Chris 'BinGOs' Williams wrote:

  >Speaking of which, the UPSTREAM flag is set to 'undef' for Digest-SHA
  >How should I mark Digest-SHA?

  I keep very close tabs on Digest-SHA, and would like to assure that the
  current version on CPAN (which I maintain) is the canonical one.
  Whenever blead suggests changes to Digest-SHA, I try to respond immediately.

  Cheers, Mark

12 years agoFix nasty memory leak in vms.c:Perl_flex_stat_int().
Craig A. Berry [Fri, 2 Jul 2010 00:47:34 +0000 (19:47 -0500)]
Fix nasty memory leak in vms.c:Perl_flex_stat_int().

Thanks to Mark Berryman in

  Message-id: <>

for the report and the fix.

12 years agot/lib/ can use caller to infer the name of the pragma under test.
Nicholas Clark [Thu, 1 Jul 2010 19:41:21 +0000 (20:41 +0100)]
t/lib/ can use caller to infer the name of the pragma under test.

This avoids needing to use a variable in package main to pass in information.
Also, remove an unnecessary $ENV{PERL5LIB} assignment cargo-culted into most
users of t/lib/common,pl, and remove the BEGIN block as the code it contained
doesn't need to run at BEGIN time.

12 years agoFix to MANIFEST in base
Chas. Owens [Thu, 1 Jul 2010 19:42:04 +0000 (20:42 +0100)]
Fix to MANIFEST in base

Signed-off-by: Chris 'BinGOs' Williams <>
12 years agoFix pthread include error for Time::Piece
H.Merijn Brand [Thu, 1 Jul 2010 17:05:03 +0000 (19:05 +0200)]
Fix pthread include error for Time::Piece

Oh, um, lovely. Did I really want to look at that code? I can only assume
that in *BSD the API for _strptime() is fixed. But it's static for us, so
it doesn't need to be fixed.

Does the appended patch fix it?

Nicholas Clark

Signed-off-by: H.Merijn Brand <>
12 years agoadd cherrymaint and git-deltatool to MANIFEST
David Golden [Thu, 1 Jul 2010 16:04:06 +0000 (12:04 -0400)]
add cherrymaint and git-deltatool to MANIFEST

12 years agoConvert zlib src from K&R functions declarations to ANSI C.
Nicholas Clark [Thu, 1 Jul 2010 15:54:10 +0000 (16:54 +0100)]
Convert zlib src from K&R functions declarations to ANSI C.

K&R declarations aren't valid C++, hence C++ builds choke. zlib defaults to
K&R (I infer for maximum portability), but helpfully the zlib distribution
provides a zlib2ansi script to convert the declarations.

12 years agoConvert subs.t to use t/lib/
Nicholas Clark [Thu, 1 Jul 2010 12:59:26 +0000 (13:59 +0100)]
Convert subs.t to use t/lib/

12 years agoConvert charnames.t to use t/lib/
Nicholas Clark [Thu, 1 Jul 2010 11:08:33 +0000 (12:08 +0100)]
Convert charnames.t to use t/lib/

12 years agoConvert strict.t to use t/lib/
Nicholas Clark [Thu, 1 Jul 2010 10:13:34 +0000 (11:13 +0100)]
Convert strict.t to use t/lib/

12 years agoConvert gmtime.t, localtime.t and overloading.t to Test::More.
Nicholas Clark [Thu, 1 Jul 2010 09:54:33 +0000 (10:54 +0100)]
Convert gmtime.t, localtime.t and overloading.t to Test::More.

12 years agoConvert DirHandle's tests to Test::More.
Nicholas Clark [Thu, 1 Jul 2010 09:32:03 +0000 (10:32 +0100)]
Convert DirHandle's tests to Test::More.

Remove a vestigial reference to MacOS.

12 years agoAdd additional notes regarding srand and forking
Brian Phillips [Wed, 30 Jun 2010 15:31:25 +0000 (10:31 -0500)]
Add additional notes regarding srand and forking

perldoc -f srand states that typical use requires no srand() to be
called.  This is true with the exception of forking where you may not
want the same seed across various child processes (i.e. mod_perl).
This patch simply adds a note reminding the reader of this fact and
more specifically states that srand should only be called once per
*process* (instead of the previous language of once per *script*).

Signed-off-by: Brian Phillips <>
12 years agoConvert Fcntl and PerlIO::encoding's tests to Test::More.
Nicholas Clark [Wed, 30 Jun 2010 19:30:14 +0000 (20:30 +0100)]
Convert Fcntl and PerlIO::encoding's tests to Test::More.

Remove one vestigial mention of MacOS.

12 years agoConvert POSIX's test to Test::More.
Nicholas Clark [Wed, 30 Jun 2010 18:58:53 +0000 (19:58 +0100)]
Convert POSIX's test to Test::More.

12 years agoFix MANIFEST to include new Test-Harness files added in 6d3136644eb73f7a0727d341c9093...
Andy Dougherty [Wed, 30 Jun 2010 17:10:15 +0000 (13:10 -0400)]
Fix MANIFEST to include new Test-Harness files added in 6d3136644eb73f7a0727d341c90937f4234835bf

12 years agoConvert Devel::Peek's test to Test::More.
Nicholas Clark [Wed, 30 Jun 2010 16:24:56 +0000 (17:24 +0100)]
Convert Devel::Peek's test to Test::More.

The flag change from 0x0 to 0x4 is because Test::More sets autoflush on STDOUT.

12 years agoMake the change to source_handler.t conditional on $ENV{PERL_CORE}.
Nicholas Clark [Wed, 30 Jun 2010 14:31:45 +0000 (15:31 +0100)]
Make the change to source_handler.t conditional on $ENV{PERL_CORE}.

175dcccfb62b30fa wrongly added '-I../../lib' unconditionally.

12 years agoUpdate IO-Compress to CPAN version 2.027
Chris 'BinGOs' Williams [Wed, 30 Jun 2010 09:06:53 +0000 (10:06 +0100)]
Update IO-Compress to CPAN version 2.027


  2.027 24 April 2010

      * Compress::Zlib
        Remove autoload code from
        [perl #74088]

  2.026 7 April 2010

      * IO::Uncompress::Zip
        - Some updates to IO::Compress::Zip documentation.
        - Fixed default setting for ExtAttr.

  2.025 27 March 2010

      * IO::Uncompress::Unzip
        The "Name" option wasn't documented.

      * Allow zlib version check to be disabled by setting
        TEST_SKIP_VERSION_CHECK environment variable.
        [RT #54510]

  2.024 7 January 2010

      * Compress::Zlib
        Get memGunzip & memGzip to set $gzerrno
        [RT# 47283]

      * Compress::Zlib
        Export memGunzip, memGzip and zlib_version on demand
        [RT# 52992]

      * examples/io/anycat
        This sample was using IO::Uncompress::AnyInflate. Much better to
        use IO::Uncompress::AnyUncompress.

  2.023 9 November 2009

      * IO::Compress::AnyUncompress
        Added support for lzma_alone & xz.

  2.022 9 October 2009

      * IO::Compress - Makefile.PL
        Fix for core.

12 years agoUpdate Compress-Raw-Bzip2 to CPAN version 2.027
Chris 'BinGOs' Williams [Wed, 30 Jun 2010 09:03:06 +0000 (10:03 +0100)]
Update Compress-Raw-Bzip2 to CPAN version 2.027


  2.027 24 April 2010

      * No Changes

  2.026 7 April 2010

      * No Changes

  2.025 27 March 2010

      * Documented the unused "verbosity" option in
        [RT# 54425]

  2.023 9 November 2009

      * Removed redundant bzip2 source files from the bzip2-src directory.
        [RT# 47225]

      * Fixed instance where $[ should have been $] in t/01bzip2.t
        Thanks to Robin Barker and zefram [RT #50764] for independantly
        spotting the issue.

12 years agoUpdate Compress-Raw-Zlib to CPAN version 2.027
Chris 'BinGOs' Williams [Wed, 30 Jun 2010 08:56:41 +0000 (09:56 +0100)]
Update Compress-Raw-Zlib to CPAN version 2.027


  2.027 24 April 2010

      * Updated to include zlib 1.2.5

  2.026 7 April 2010

      * Fixed definition of Z_TREES in Makefile.PL
        [RT #65293]

      * Fixed build issue with definition of off64_t not found on Solaris
        by modifying the zlib source - changed the symbol
        _LARGEFILE64_SOURCE to _LARGEFILE64_SOURCE_dummy in zconf.h,
        zlib.h and zutil.h
        [RT #56108]

  2.025 27 March 2010

      * Updated to include zlib 1.2.4

      * Allow zlib version check to be disabled by setting
        TEST_SKIP_VERSION_CHECK environment variable.
        [RT #54510]

  2.023 9 November 2009

      * fixed instance where $[ should have been $] in t/02zlib.t
        Thanks to Robin Barker and zefram [RT #50765] for independantly
        spotting the issue.

12 years agoStore xio_ifp in sv_u in the SV head, reducing XPVIO by 1 pointer.
Nicholas Clark [Wed, 30 Jun 2010 09:46:09 +0000 (10:46 +0100)]
Store xio_ifp in sv_u in the SV head, reducing XPVIO by 1 pointer.

When accessing a file handle for reading, this reduces pointer dereferences by
1, which will reduce CPU cache pressure.

As SVt_PVIO is also the default type provided to source filters, the code needs
to allow them to continue to use the sv_u for SvPVX(). Re-use the existing
IOf_FAKE_DIRP to signal this, as it's only set when a source filter is added.

12 years agoIn Perl_filter_del(), no need to NULL IoANY(datasv).
Nicholas Clark [Tue, 29 Jun 2010 21:15:45 +0000 (22:15 +0100)]
In Perl_filter_del(), no need to NULL IoANY(datasv).

Perl_sv_clear() understands the IOf_FAKE_DIRP flag, and when set won't treat
IoANY() as a a pointer to a directory handle that needs closing.

12 years agoOnly allow SvPVX() on SVt_PVIO when IOf_FAKE_DIRP is set.
Nicholas Clark [Mon, 28 Jun 2010 16:14:45 +0000 (17:14 +0100)]
Only allow SvPVX() on SVt_PVIO when IOf_FAKE_DIRP is set.

12 years agoNeeded cast to malloc return value in Piece.xs.
Craig A. Berry [Wed, 30 Jun 2010 03:30:12 +0000 (22:30 -0500)]
Needed cast to malloc return value in Piece.xs.

g++ said:

  Piece.xs:906: error: invalid conversion from  void*  to  char*

Reported by George Greer in:

Message-ID: <>

12 years agoupdate release manager instructions for a new perldelta
David Golden [Wed, 30 Jun 2010 02:40:03 +0000 (22:40 -0400)]
update release manager instructions for a new perldelta

12 years agorefresh vms/descrip_mms.template with buildtoc
David Golden [Wed, 30 Jun 2010 02:24:50 +0000 (22:24 -0400)]
refresh vms/descrip_mms.template with buildtoc

12 years agoretitle old perlXXXdelta files
David Golden [Wed, 30 Jun 2010 02:21:40 +0000 (22:21 -0400)]
retitle old perlXXXdelta files

12 years agoAdd perl5121delta to MANIEST and other files
David Golden [Wed, 30 Jun 2010 02:18:42 +0000 (22:18 -0400)]
Add perl5121delta to MANIEST and other files

Cherry picking this from 5.12.1 would lose all the 5.13.X additions, so
these edits have been made by hand.

12 years agoNote that we now include 2.27
Jesse Vincent [Thu, 13 May 2010 19:55:40 +0000 (15:55 -0400)]
Note that we now include 2.27
(cherry picked from commit 7ecbc3da3c049655fce6b77e81d08f2025e54c57)

Signed-off-by: David Golden <>
12 years agoAdded known issues section to 5121 perldelta
Jesse Vincent [Thu, 13 May 2010 17:02:10 +0000 (13:02 -0400)]
Added known issues section to 5121 perldelta
(cherry picked from commit 9c65d57d2684045468e94068812e5c2344f3fbd2)

Signed-off-by: David Golden <>
12 years agoTypo in perldelta spotted by Robin Smidsrød
Jesse Vincent [Mon, 10 May 2010 17:40:01 +0000 (13:40 -0400)]
Typo in perldelta spotted by Robin Smidsrød
(cherry picked from commit d54920628df719d2fc3f377ff487b3905b633c1a)

Signed-off-by: David Golden <>
12 years agominor perldelta improvements for 5.12.1
David Golden [Mon, 10 May 2010 02:24:15 +0000 (22:24 -0400)]
minor perldelta improvements for 5.12.1
(cherry picked from commit ed9a37359c07a6d8b582c6c1dead720366ae1533)

Signed-off-by: David Golden <>
12 years agoperldelta updates for 5.12.1
Jesse Vincent [Mon, 10 May 2010 01:47:11 +0000 (21:47 -0400)]
perldelta updates for 5.12.1
(cherry picked from commit 8615356d76c331b7754ec660c69a0632c60fc00c)

Signed-off-by: David Golden <>
12 years agoFirst full draft of the 5.12.1 perldelta
Jesse Vincent [Fri, 7 May 2010 19:31:07 +0000 (15:31 -0400)]
First full draft of the 5.12.1 perldelta
(cherry picked from commit 189604b10ea23a1742e336089a5819d6900287d5)

Signed-off-by: David Golden <>
12 years agoFirst draft of the 5.12.1 perldelta
Jesse Vincent [Fri, 7 May 2010 14:55:19 +0000 (10:55 -0400)]
First draft of the 5.12.1 perldelta

(really just a git log extract through

(cherry picked just pod/perl5121delta.pod from

Signed-off-by: David Golden <>
12 years agoImprove git-deltatool UI and support cherrymaint
David Golden [Wed, 30 Jun 2010 01:28:24 +0000 (21:28 -0400)]
Improve git-deltatool UI and support cherrymaint

Allows going 'back' from a section submenu to the main menu for each

Adds support for calling Porting/cherrymaint to recommend cherrypicking
while reviewing commits for perldelta.

One must recommend cherrymaint before specifying other actions in either
the assign or review modes.  This is hack-ish, but should work well enough
to capture cherrymaint nominations while the release manager is
reviewing commits anyway.

12 years agoAdd command line tool to update cherrymaint
David Golden [Tue, 29 Jun 2010 23:49:03 +0000 (19:49 -0400)]
Add command line tool to update cherrymaint


  # to vote +1 to cherry pick the SHA1 'deadbeef'
  $ perl Porting/cherrymaint deadbeef

  # to mark as cherry picked
  $ perl Porting/cherrymaint --picked deadbeef

The commit ID can be any valid git revision reference, e.g. HEAD

The ssh tunnel from localhost:3000 to must
already exist.

LWP::UserAgent is required.

12 years agoSuppress deprecation warnings from test output for perl4 era libs.
Nicholas Clark [Tue, 29 Jun 2010 19:32:33 +0000 (20:32 +0100)]
Suppress deprecation warnings from test output for perl4 era libs.

A tweak to the pattern used by 96471c6b3e9cad6e, to match the current warning.

12 years agoIn pp_require, improve the code generating the exception when no file is found.
Nicholas Clark [Tue, 29 Jun 2010 18:57:51 +0000 (19:57 +0100)]
In pp_require, improve the code generating the exception when no file is found.

Make more use of DIE()'s ability to take a *printf formatter and argument list,
hence avoiding most use of SVs as temporary buffers, and building up SVs
section by section.

12 years agoAllow the "diag_listed_as" annotation to work on multi-line function calls.
Nicholas Clark [Tue, 29 Jun 2010 18:54:50 +0000 (19:54 +0100)]
Allow the "diag_listed_as" annotation to work on multi-line function calls.

Previously it would only work if the comment was on the line immediately
preceding the closing /\);/, which was fine for croak()/die()/etc function
calls all on one line, but not so useful for longer calls.

12 years agoWhen testing in core, ensure that the local $ENV{HOME} is absolute.
Nicholas Clark [Tue, 29 Jun 2010 17:25:29 +0000 (18:25 +0100)]
When testing in core, ensure that the local $ENV{HOME} is absolute.

Without this ppm.t and xs.t fail with ccache, because it can't create

12 years agoReinstate require error messages for .h and .ph
Nicholas Clark [Tue, 29 Jun 2010 16:23:41 +0000 (17:23 +0100)]
Reinstate require error messages for .h and .ph

These had been present since 5.000, but were inadvertently removed by the
refactoring b8f04b1b779ce1df.

Yes, files matching /.*.h\z/ get two pieces of advice in the error message, but
this was the exact behaviour pre-b8f04b1b779ce1df.

12 years agoIn pp_require, avoid changing PL_compiling if we're not about to compile.
Nicholas Clark [Tue, 29 Jun 2010 15:17:19 +0000 (16:17 +0100)]
In pp_require, avoid changing PL_compiling if we're not about to compile.

The original code order has existed since 5.000, and I think the change around
perl-5.003_97h to C<tryrsfp ? tryname : name> cured symptoms rather than the
underlying cause.

12 years agoIn pp_require and code refs in @INC, avoid using memory after free().
Nicholas Clark [Tue, 29 Jun 2010 13:29:23 +0000 (14:29 +0100)]
In pp_require and code refs in @INC, avoid using memory after free().

d8723a6a74b2c12e wasn't perfect, as the char * returned by SvPV*() can be
a temporary, freed at the next FREETMPS. There is a FREETMPS in pp_require,
so move the SvPV*() after it.

12 years agoUpdate to point to Dave Golden's guide to updating Module-Build in...
Chris 'BinGOs' Williams [Tue, 29 Jun 2010 15:08:48 +0000 (16:08 +0100)]
Update to point to Dave Golden's guide to updating Module-Build in core

12 years agoUpdate Module-Build to CPAN version 0.3607
Chris 'BinGOs' Williams [Tue, 29 Jun 2010 14:14:15 +0000 (15:14 +0100)]
Update Module-Build to CPAN version 0.3607


      0.3607 - Thu Apr  1 11:27:16 EDT 2010

        Bug fixes:

        - The 'dist' action now always ensures a clean dist directory before
          creating the tarball [David Golden]

      0.36_06 - Thu Apr  1 01:23:58 EDT 2010


        - Migrated repository to git and updated META.yml to match

        - Removed bugtracker URL (let use default)

        - Disabled SIGNATURE generation

      0.3605 - Wed Mar 31 12:05:11 EDT 2010

        - No changes from 0.36_04

      0.36_04 - Tue Mar 16 21:41:41 EDT 2010

      Bug fixes:

        - Added missing newline to "Changing sharpbang" messages under verbose
          output (RT#54474) [David Golden]

        - Added 'beos' to list of Unix-like os types (RT#53876) [Nigel Horne]

        - Sets $ENV{HOME} to a temporary directory during testing [David Golden]

        - For VMS: fixed prefix handling plus other test fixes [Craig Berry]

        - Support anonymous array of directories for c_source [Alberto Sim<C3><B5>es]

        - Small POD formatting fix [James Keenan]

12 years agoFix 3 remaining Test::Harness tests to work in core.
Nicholas Clark [Tue, 29 Jun 2010 14:52:27 +0000 (15:52 +0100)]
Fix 3 remaining Test::Harness tests to work in core.

12 years agoFixed up Test-Harness tests to work under core. There are still three outstanding...
Chris 'BinGOs' Williams [Tue, 29 Jun 2010 13:27:34 +0000 (14:27 +0100)]
Fixed up Test-Harness tests to work under core. There are still three outstanding will ask AndyA to investigate

12 years agoRemove alloca() use from Time::Piece for portability.
Craig A. Berry [Tue, 29 Jun 2010 12:14:39 +0000 (07:14 -0500)]
Remove alloca() use from Time::Piece for portability.

In 1.17, T::P started using its own strptime (almost) everywhere,
and this _strptime contains a single reference to alloca().  The
Linux and BSD man pages recommend against using alloca(), the
function  doesn't exist on HP-UX or VMS, and it's impossible to
error check it.  So replace it here with malloc().

If getting three or four bytes from the heap instead of the stack
is considered a problem, an alternative would be researching the
maximum length of a timezone name and using an automatic variable
to hold it.

12 years agoFix the MANIFEST back after reverting the Module-Build commit
Chris 'BinGOs' Williams [Tue, 29 Jun 2010 11:20:52 +0000 (12:20 +0100)]
Fix the MANIFEST back after reverting the Module-Build commit