7 years agoadd -u to core-cpan-diffs to filter modules v5.11.4
Ricardo Signes [Wed, 20 Jan 2010 14:52:31 +0000 (09:52 -0500)] 
add -u to core-cpan-diffs to filter modules

7 years agoperlfunc tweak for package NAME VERSION
David Golden [Wed, 20 Jan 2010 12:13:11 +0000 (07:13 -0500)] 
perlfunc tweak for package NAME VERSION

7 years agoremove remaining boilerplate from perl5114delta
Ricardo Signes [Wed, 20 Jan 2010 05:52:45 +0000 (00:52 -0500)] 
remove remaining boilerplate from perl5114delta

7 years agoperldelta5114 updated prior to shipping
Ricardo Signes [Wed, 20 Jan 2010 05:42:49 +0000 (00:42 -0500)] 
perldelta5114 updated prior to shipping

7 years agoadd 5.11.4 (and myself) to perlhist
Ricardo Signes [Wed, 20 Jan 2010 04:38:22 +0000 (23:38 -0500)] 
add 5.11.4 (and myself) to perlhist

7 years agoregen_perly prepping for 5.11.4
Ricardo Signes [Wed, 20 Jan 2010 04:13:44 +0000 (23:13 -0500)] 
regen_perly prepping for 5.11.4

7 years agoupdate Module::CoreList for pending 5.11.4
Ricardo Signes [Wed, 20 Jan 2010 03:19:20 +0000 (22:19 -0500)] 
update Module::CoreList for pending 5.11.4

7 years agoUpdate Module::Build to 0.3603
David Golden [Wed, 20 Jan 2010 02:33:35 +0000 (21:33 -0500)] 
Update Module::Build to 0.3603

0.3603 - Mon Jan 18 22:28:59 EST 2010

 Bug fixes:

 - Module::Build::Compat would croak on distibutions that set requires
   'perl' to a dotted decimal like '5.6.2'.  We now skip that key
   since it doesn't go into PREREQ_PM and we numify it properly for
   'use 5.006002' in the generated Makefile.PL (RT#53409)
   [David Golden, adapted from patch by G. Allen Morris III]

0.3602 - Mon Jan 18 22:09:54 EST 2010

 Bug fixes:

 - Fix failures in t/properties/needs_compiler.t when $ENV{CC} is set
   (RT#53296) [David Golden, adapted from patch by Jens Rehsack]

0.3601 - Mon Dec 21 14:39:33 EST 2009

 Bug fixes:

 - When the currently running Module::Build is not the same as the one
   that created the Build file, there is now a warning rather than a fatal
   error.  This helps installation of dependency chains where a dependency
   might configure_requires a new Module::Build after Build.PL was already
   run for an earlier distribution. [David Golden, on advice of Matt Trout]


 - t/bundle_inc.t fails in odd ways.  This test of an experimental feature
   should not prevent users from installing Module::Build, so this test
   now skips unless $ENV{MB_TEST_EXPERIMENTAL} is true

7 years agoreminder: update Module::CoreList when bumping version number
David Golden [Wed, 20 Jan 2010 01:19:24 +0000 (20:19 -0500)] 
reminder: update Module::CoreList when bumping version number

7 years agobump versions for core libs changed since 5.11.3
Ricardo Signes [Wed, 20 Jan 2010 01:16:55 +0000 (20:16 -0500)] 
bump versions for core libs changed since 5.11.3

7 years agoregen for new version number
Ricardo Signes [Tue, 19 Jan 2010 23:53:21 +0000 (18:53 -0500)] 
regen for new version number

7 years agobump version for 5.11.4
Ricardo Signes [Tue, 19 Jan 2010 23:43:57 +0000 (18:43 -0500)] 
bump version for 5.11.4

7 years agofix qr// and get-magic problems
Father Chrysostomos [Tue, 19 Jan 2010 20:35:04 +0000 (15:35 -0500)] 
fix qr// and get-magic problems

[N.B. I converted package name separators from q{'} to q{::} in
the test files as suggested by demerphq. -- dagolden]

7 years agoFix for #71506: work around possible gcc bug
Tony Cook [Tue, 19 Jan 2010 14:07:21 +0000 (01:07 +1100)] 
Fix for #71506: work around possible gcc bug

When memcpy() is used on a long double pointer with gcc 4.4 in some
cases it seems to treat it as a long double assignment, copying only
the first 12 bytes.  Use unions so the types we're copying into the
pack output or from the unpack input are unsigned char[], to avoid the
apparent bug.

7 years agonote strict/lax version requirements in documentation
David Golden [Tue, 19 Jan 2010 15:14:32 +0000 (10:14 -0500)] 
note strict/lax version requirements in documentation

7 years agoadd version number format note to perldelta
David Golden [Tue, 19 Jan 2010 15:03:06 +0000 (10:03 -0500)] 
add version number format note to perldelta

7 years agoFix a NULL pointer dereference when looking for a DESTROY method
Niko Tyni [Tue, 19 Jan 2010 10:03:08 +0000 (11:03 +0100)] 
Fix a NULL pointer dereference when looking for a DESTROY method

The empty DESTROY method optimization introduced by commit
fbb3ee5af3d would crash the interpreter if a DESTROY method
was declared but not actually defined.

This is seen in the real world with AutoLoader / AutoSplit,
where the crash defeats autoloading a DESTROY method.

7 years agoFix for #71254: SEGV in Data::Dumper
Father Chrysostomos [Mon, 18 Jan 2010 20:57:01 +0000 (21:57 +0100)] 
Fix for #71254: SEGV in Data::Dumper

This was caused by change 27323/f7877b281b4, which changes the way
globs are stored in SVs. This patch teaches Perl_magic_setmglob (which
resets the match position after an assignment) about globs. What was
happening was that the globness was turned off (with the type still as
PVGV), which essentially turned the variable into a strange empty
string. Data::Dumper, seeing a PVGV, assumes the string form is at
least 1 char (which should always be the case), and ends up reading
past the end of the string if it is blank.

7 years agoFixed an editing error in perldoc about commit messages.
Jesse Vincent [Mon, 18 Jan 2010 19:24:36 +0000 (11:24 -0800)] 
Fixed an editing error in perldoc about commit messages.

(Thanks to Aristotle Pagaltzis)

7 years agoMinor updates to the git tutorial and our commit message policies.
Jesse Vincent [Mon, 18 Jan 2010 19:00:26 +0000 (11:00 -0800)] 
Minor updates to the git tutorial and our commit message policies.

7 years ago[perl #71676] GDBM_File support on Win32
kmx [Mon, 18 Jan 2010 17:39:22 +0000 (17:39 +0000)] 
[perl #71676] GDBM_File support on Win32

Date: Thu, 07 Jan 2010 00:36:25 -0800
Message-ID: <>

Tweaked as suggested in:

From: "H.Merijn Brand" <>
Date: Fri, 8 Jan 2010 13:35:17 +0100
Message-ID: <>

7 years agoPerl blead on AIX - fail: t/porting/test_bootstrap
Rainer Tammer [Mon, 18 Jan 2010 10:43:07 +0000 (11:43 +0100)] 
Perl blead on AIX - fail: t/porting/test_bootstrap


Nicholas Clark wrote:
> On Mon, Jan 18, 2010 at 11:33:07AM +0100, Rainer Tammer wrote:
>> Hello,
>> the 32 bit blead build looks quite good on AIX:
>> A threaded, shared 32 bit build only produced one error:
> Thanks for continuing to look out for AIX.
No problem ...
>> Is this a know error ??
> Yes, but I believe that I committed a change to fix it about 30 minutes ago.
I try this fix.

I have also a fix for the GDBM problem.
Now GDBM is only disabled if the "problem" headers are installed,
e.g. if the gdbm rpm < 1.8.3-5 is installed.

I have attached the patch for this.

> Nicholas Clark

From 4755db7f86c38d3c2b69c668c5747368e98c3eae Mon Sep 17 00:00:00 2001
From: Rainer Tammer <>
Date: Mon, 18 Jan 2010 11:40:27 +0100
Subject: [PATCH] Enabld GDBM on AIX if possible

Signed-off-by: H.Merijn Brand <>
7 years agoMove packagev.t from t/comp to t/op, as it fouls the test bootstrapping policy.
Nicholas Clark [Mon, 18 Jan 2010 10:01:32 +0000 (10:01 +0000)] 
Move packagev.t from t/comp to t/op, as it fouls the test bootstrapping policy.

The package VERSION syntax isn't strictly an op, but it needs to use several
features that aren't yet tested at the time that tests in t/comp are run.

7 years agoRevert "[perl #62646] Maximum string length with substr"
Rafael Garcia-Suarez [Mon, 18 Jan 2010 06:29:50 +0000 (07:29 +0100)] 
Revert "[perl #62646] Maximum string length with substr"

This reverts commit b6d1426f94a845fb8fece8b6ad0b7d9f35f2d62e.



7 years agoupdate AUTHORS for new commits, spelling
Ricardo Signes [Sun, 17 Jan 2010 20:19:08 +0000 (15:19 -0500)] 
update AUTHORS for new commits, spelling

7 years agoAdd t/comp/packagev.t to MANIFEST
Vincent Pit [Sun, 17 Jan 2010 18:48:39 +0000 (19:48 +0100)] 
Add t/comp/packagev.t to MANIFEST

7 years agoUpgrade to 1.94_54
Rafael Garcia-Suarez [Sun, 17 Jan 2010 15:11:42 +0000 (16:11 +0100)] 
Upgrade to 1.94_54

7 years agoClean up mktables intro comments; remove trailing white space
Karl Williamson [Sun, 27 Dec 2009 17:48:56 +0000 (10:48 -0700)] 
Clean up mktables intro comments; remove trailing white space

7 years agoCorrect VMS-specific handling of $! in Perl_magic_get.
Craig A. Berry [Sat, 16 Jan 2010 22:31:01 +0000 (16:31 -0600)] 
Correct VMS-specific handling of $! in Perl_magic_get.

0097b436152452e403cc71b4f1a1cfd30ec0ba1a had introduced a test failure
on VMS because it only set the POK flag in the non-VMS code path,
which was an easy mistake to make because accumulated patches had
over time made the #ifdef jungle way more tangled than it needed to
be.  There is really only one line that needs to be VMS-specific.

7 years agoA fig leaf for calling sv_pos_u2b with IV* where it expects I32*.
Craig A. Berry [Sat, 16 Jan 2010 22:15:47 +0000 (16:15 -0600)] 
A fig leaf for calling sv_pos_u2b with IV* where it expects I32*.

Following v5.11.3-103-gb6d1426, any compiler paying attention
whines about the pointer mismatch (which on VMS breaks the

Zefram reports a further patch in progress:
  Message-ID: <>

but this gets the warning out of the way so other work can proceed.

7 years agoParse 'use NAME VERSION' with C locale
David Golden [Sat, 16 Jan 2010 23:03:52 +0000 (18:03 -0500)] 
Parse 'use NAME VERSION' with C locale

7 years agowrap a link in L<> to avoid bad autolinking
Ricardo Signes [Sat, 16 Jan 2010 19:58:36 +0000 (14:58 -0500)] 
wrap a link in L<> to avoid bad autolinking

7 years ago[perl #72098] File::Copy stripping 06000 perms on cp for root
Todd Rinaldo [Sat, 16 Jan 2010 18:19:23 +0000 (19:19 +0100)] 
[perl #72098] File::Copy stripping 06000 perms on cp for root

The problem is with the use of cp when perms & 06000.

There is logic that checks to see if the target file is owned by the
user ($>) running the copy and/or if $> is a member of the group that
owns the target file. If this is not the case, then the 06000 bits are
masked out before the chmod is called after the copy.

This is mostly good logic except when root is executing this, in which
case root should get to do whatever it wants to do.

Looking closer at the code to test for group membership, I think it can
be more easily and more cheaply be written using $). I've added this
change to the patch.

This will also fix the problem where someone has a group membership
based on /etc/passwd and is not mentioned in /etc/group.

7 years ago* Tom's latest perlfunc cleanups, to ensure we're on the same track
brian d foy [Wed, 13 Jan 2010 20:29:54 +0000 (21:29 +0100)] 
* Tom's latest perlfunc cleanups, to ensure we're on the same track

7 years ago* Backported Tom's perlfaq cleanup to the perlfaq repo, and now they are back here :)
brian d foy [Wed, 13 Jan 2010 19:00:07 +0000 (20:00 +0100)] 
* Backported Tom's perlfaq cleanup to the perlfaq repo, and now they are back here :)

7 years agoFix SV leaks in Perl_vnumify() and Perl_vnormal() for "Invalid version object"s
Nicholas Clark [Fri, 15 Jan 2010 16:43:32 +0000 (16:43 +0000)] 
Fix SV leaks in Perl_vnumify() and Perl_vnormal() for "Invalid version object"s

7 years agoAdd warning "Cannot find encoding"
Rafael Garcia-Suarez [Fri, 15 Jan 2010 16:49:39 +0000 (17:49 +0100)] 
Add warning "Cannot find encoding"

7 years agoBump version of PerlIO::encoding
Rafael Garcia-Suarez [Fri, 15 Jan 2010 16:39:46 +0000 (17:39 +0100)] 
Bump version of PerlIO::encoding

7 years agoThe warnings emitted by PerlIO::encoding should be silenceable.
Rafael Garcia-Suarez [Fri, 15 Jan 2010 16:37:36 +0000 (17:37 +0100)] 
The warnings emitted by PerlIO::encoding should be silenceable.

Make them mandatory warnings.

7 years agoAvoid a double SV leak in an error state branch of pp_require.
Nicholas Clark [Fri, 15 Jan 2010 16:29:56 +0000 (16:29 +0000)] 
Avoid a double SV leak in an error state branch of pp_require.

Avoid using a sprintf format for a constant value (0).

7 years ago[perl #62646] Maximum string length with substr
Zefram [Fri, 15 Jan 2010 16:13:17 +0000 (17:13 +0100)] 
[perl #62646] Maximum string length with substr

(This is only a partial fix, since it doesn't handle lvalue substr)

7 years agoDocument last change in perldelta for 5.11.4.
Rafael Garcia-Suarez [Fri, 15 Jan 2010 15:52:54 +0000 (16:52 +0100)] 
Document last change in perldelta for 5.11.4.

This will have to be merged with other Unicode property changes
in the final 5.12 perldelta.

7 years agoPATCH: [perl #71726] \p{xdigit} should match full-width forms
Karl Williamson [Tue, 12 Jan 2010 05:25:15 +0000 (22:25 -0700)] 
PATCH: [perl #71726] \p{xdigit} should match full-width forms

The Unicode standard suggests that xdigit match not only the ASCII hex
digits, but also the full width forms starting at U+FF10.

This patch just changes the source from the Unicode ASCII hex digit to
the Unicode normal hex digit.

7 years agoThis adds a constructor option to not output the comments containing the range counts...
Karl Williamson [Wed, 30 Dec 2009 16:36:52 +0000 (09:36 -0700)] 
This adds a constructor option to not output the comments containing the range counts; and uses that option on, used by

7 years agoQualify pointer arguments of prescan_version in embed.fnc
Rafael Garcia-Suarez [Fri, 15 Jan 2010 10:29:47 +0000 (11:29 +0100)] 
Qualify pointer arguments of prescan_version in embed.fnc

7 years agoBump version to 2.21 and add changelog
Rafael Garcia-Suarez [Thu, 14 Jan 2010 21:45:18 +0000 (22:45 +0100)] 
Bump version to 2.21 and add changelog

7 years agoFixed the closure argument passing bug perl#72068
Tim Bunce [Thu, 14 Jan 2010 14:50:03 +0000 (14:50 +0000)] 
Fixed the closure argument passing bug perl#72068

7 years agoFixed tests.
Tim Bunce [Thu, 14 Jan 2010 14:48:23 +0000 (14:48 +0000)] 
Fixed tests.

7 years agoAdded tests for perl#72068
Tim Bunce [Thu, 14 Jan 2010 14:38:53 +0000 (14:38 +0000)] 
Added tests for perl#72068

7 years agoBack out the {ENTER,LEAVE}_with_name("sub") part of d343c3ef45381352 for now.
Nicholas Clark [Thu, 14 Jan 2010 15:37:05 +0000 (15:37 +0000)] 
Back out the {ENTER,LEAVE}_with_name("sub") part of d343c3ef45381352 for now.

It's conflicting with an established pattern in XS code, working around the
inability of the XS SCOPE: keyword to actually provide anything useful.
The minor amount of extra debugging it gives here is not worth the external
trouble it causes.

Revisit this once we can provide a meaningful option to disable the

7 years agoCYG23-544-stat
Reini Urban [Mon, 11 Jan 2010 20:24:32 +0000 (20:24 +0000)] 

Stable cygwin patch for root filetests (gid 0 root <= gid 544 Administrators).

On cygwin check for the Administrators group (544) which has root
rights regarding -r filetests.

Signed-off-by: H.Merijn Brand <>
7 years agoOmnibus strict and lax version parsing
David Golden [Thu, 14 Jan 2010 02:47:30 +0000 (21:47 -0500)] 
Omnibus strict and lax version parsing

Authors: John Peacock, David Golden and Zefram

The goal of this mega-patch is to enforce strict rules for version
numbers provided to 'package NAME VERSION' while formalizing the prior,
lax rules used for version object creation.  Parsing for use() is
unchanged. adds two globals, $STRICT and $LAX, containing regular
expressions that define the rules.  There are two additional functions
-- version::is_strict and version::is_lax -- that test an argument
against these rules.

However, parsing of strings that might contain version numbers is done
in core via the Perl_scan_version function, which may be called during
compilation or may be called later when version objects are created by
Perl_new_version or Perl_upg_version.

A new helper function, Perl_prescan_version, has been added to validate
a string under either strict or lax rules.  This is used in toke.c for
'package NAME VERSION' in strict mode and by Perl_scan_version in lax
mode.  It matches the behavior of the regular expressions,
but does not use them directly.

A new test file, comp/packagev.t, validates strict and lax behaviors of
'package NAME VERSION' and 'version->new(VERSION)' respectively and
verifies their behavior against the $STRICT and $LAX regular
expressions, as well.  Validating these two implementation should help
ensure they each work as intended.

Other files and tests have been modified as necessary to support these

There is remaining work to be done in a few areas:

* documenting all changes in behavior and new functions

* determining proper treatment of "," as decimal separators in
  various locales

* updating diagnostics for new error messages

* porting changes back to the distribution on CPAN,
  including pure-Perl versions

7 years agoChanged Copyright year as suggested by karl williamson in
Abigail [Wed, 13 Jan 2010 19:51:07 +0000 (20:51 +0100)] 
Changed Copyright year as suggested by karl williamson in

7 years ago* Em dash cleanup in pod/
brian d foy [Wed, 13 Jan 2010 16:19:25 +0000 (17:19 +0100)] 
* Em dash cleanup in pod/

I looked at all the instances of spaces around -- and in most cases
converted the sentences to use more appropriate punctuation. In
general, the -- in the perl docs seem to be there only to make
really complicated and really long sentences.

I didn't look at the closed em-dashes. They probably have the same
sentence-complexity problem.

I left some open em-dashes in place. Those are the ones used in

7 years ago* FAQ sync for Perl 5.12 release candidate
brian d foy [Wed, 13 Jan 2010 15:29:30 +0000 (16:29 +0100)] 
* FAQ sync for Perl 5.12 release candidate

This is commit cfc60b072536b6232cec8a3a3551c8bdf3c3eefd from the
perlfaq repository at

7 years agoTom Christiansen's perlfunc cleansing, part 2
brian d foy [Wed, 13 Jan 2010 15:19:33 +0000 (16:19 +0100)] 
Tom Christiansen's perlfunc cleansing, part 2

From "PATCH: perlfunc cleanup, part 2" (28574.1263366404@chthon)

Quite a lot here, I know.

I probably spent the most time on pack(), as you'll see, but there are
plenty of rephrasings of awkward wordings plus the occasional orthographic
fix scattered throughout.  I've added a few more examples here and there,
and certain simple things like perl vs Perl have been set to canonical form.

I've eyeballed the diffs for my own typos, and I've looked at the whole
thing after running it both through nroff (not so pretty, but better) and
also through troff (*much* better).

I didn't try to make sure all code inserts were indented the same number of
spaces, not because it doesn't need being done, but because I didn't want
to blow this patch up that much more than it already is.  You can see the
ragged left in the code inserts if you troff->ps->pdf view it.  Oh, well.

Hope this helps,


7 years agoUpdate File-Fetch to CPAN version 0.24
Chris Williams [Wed, 13 Jan 2010 13:30:52 +0000 (13:30 +0000)] 
Update File-Fetch to CPAN version 0.24

  Changes for 0.24        Wed Jan  6 23:32:19 2010
  * Applied a patch from brian d foy RT #53427
    that makes new() respect sub-classes.

7 years agotest stash_name in
Ricardo Signes [Tue, 12 Jan 2010 16:12:47 +0000 (11:12 -0500)] 
test stash_name in

7 years agocatch the one $class instance missed in
Ricardo Signes [Tue, 12 Jan 2010 16:09:34 +0000 (11:09 -0500)] 
catch the one $class instance missed in

7 years agoDocument UNIVERSAL->import deprecation in perldelta
Rafael Garcia-Suarez [Tue, 12 Jan 2010 07:29:35 +0000 (08:29 +0100)] 
Document UNIVERSAL->import deprecation in perldelta

7 years agoMention name of C constant in for greppability
Rafael Garcia-Suarez [Tue, 12 Jan 2010 07:10:01 +0000 (08:10 +0100)] 
Mention name of C constant in for greppability

7 years agoThe new lvalue warning should not be turned on by default
Rafael Garcia-Suarez [Tue, 12 Jan 2010 07:03:58 +0000 (08:03 +0100)] 
The new lvalue warning should not be turned on by default

A check for the warning category was missing from commit
885ef6f56b61fd750ef3b1fa614d11480baac635. Also, document
the warning category in perldiag.

7 years agoDocument new lvalue warning in perldelta
Rafael Garcia-Suarez [Tue, 12 Jan 2010 06:56:28 +0000 (07:56 +0100)] 
Document new lvalue warning in perldelta

7 years agoThe "illegalproto" warning category is new in 5.11.4, not 5.11.3
Rafael Garcia-Suarez [Tue, 12 Jan 2010 06:52:53 +0000 (07:52 +0100)] 
The "illegalproto" warning category is new in 5.11.4, not 5.11.3

7 years agoNits in perldelta template
Rafael Garcia-Suarez [Tue, 12 Jan 2010 06:50:09 +0000 (07:50 +0100)] 
Nits in perldelta template

7 years agoAdd perl5114delta.pod
Rafael Garcia-Suarez [Tue, 12 Jan 2010 06:48:11 +0000 (07:48 +0100)] 
Add perl5114delta.pod

7 years agoWith $PERL_UNICODE we still need to find
H.Merijn Brand [Tue, 12 Jan 2010 07:44:14 +0000 (08:44 +0100)] 
With $PERL_UNICODE we still need to find

7 years agofix for [perl #65582] anon globs segfaulting
David Mitchell [Tue, 12 Jan 2010 00:14:41 +0000 (00:14 +0000)] 
fix for [perl #65582] anon globs segfaulting

The following code has had differing behaviours:

    my $io_ref = *STDOUT{IO};
    my $glob = *$io_ref;

          defined($glob)    "$glob"
          --------------    -------
5.8.8       false           "" with uninit warning
5.10.0      true            (coredump)
this commit true            ""

$glob is essentially an anonymous typeglob (no NAME, EGV or GvSTASH).
It shouldn't register as undefined since it's clearly a valid GV with a
valid IO slot; Stringifying to "" seems to be the right thing, and not
warning seems right too, since its not undef.

7 years agofix for [perl #61976] Errno ($!) not evaluated to a error message string
David Mitchell [Mon, 11 Jan 2010 21:42:07 +0000 (21:42 +0000)] 
fix for [perl #61976] Errno ($!) not evaluated to a error message string
(5.10.0 in taint mode)

Change 27176 / 2a509ed3c095f7d712013e653f68821f6bb2d6db fixed a taint
bug, which as a side effect, meant that $! used within a tainted expression
failed to have a string value.

This quick fix just makes sure the POK flag is set (prior to it being
shifted back to pPOK).

7 years agoAdd note to .pod for compound form perl extensions
Karl Williamson [Sun, 27 Dec 2009 02:36:51 +0000 (19:36 -0700)] 
Add note to .pod for compound form perl extensions

7 years agoBump less' version
Rafael Garcia-Suarez [Mon, 11 Jan 2010 21:41:17 +0000 (22:41 +0100)] 
Bump less' version

7 years agoallow indirection between less and its hints stash name
Ricardo Signes [Mon, 11 Jan 2010 18:52:30 +0000 (13:52 -0500)] 
allow indirection between less and its hints stash name

7 years agoRemove [[:posix:]] references because changes not going into 5.12
Karl Williamson [Mon, 11 Jan 2010 17:01:55 +0000 (18:01 +0100)] 
Remove [[:posix:]] references because changes not going into 5.12

7 years agofix for [perl #41138] $_ leaks under threads
David Mitchell [Mon, 11 Jan 2010 12:09:12 +0000 (12:09 +0000)] 
fix for [perl #41138] $_ leaks under threads

It's possible for an interpreter to get cloned with an SV copied that ends
up only linked from @_. For example, local $x causes a link to the
original $x SV to be added to the save stack, but when cloning a thread
the save stack isn't copied. If the old $x was also in someone's @_,
then it gets copied, but because @_'s elements  aren't normally reference
counted, old $x ends up with a refcount of zero, and you get a "leaked"
warning when the thread exits.

The workaround is to reify any reify-able AVs in the cloned interpreter
during cloning.

Also fixes [perl #70602], [perl #70974]

7 years agoPATCH: perlfunc cleanup, part 1
Tom Christiansen [Mon, 11 Jan 2010 10:04:08 +0000 (11:04 +0100)] 
PATCH: perlfunc cleanup, part 1

So I started tidying up the C<delete> and C<each> documentation,
but ended up diddling the file pretty much all over.  There are
some typo corrections, but most of this is just smoothing out
infelicitous wording.  I did add one brief example to C<glob>.

I've made no warnings about delete and slices with negative
indices; I'm hoping that may be fixed, as David has suggested
be done.  It's not a political edit, just a copy-edit.

This is obviously only the first portion of the file, but the
tweaks were getting extensive enough I thought I'd better send
in a checkpoint.  I'll finish it up over the next several days.

7 years ago[perl #71788] Skip $) test when NGROUPS_MAX is too small or when on darwin
Josh ben Jore [Sat, 9 Jan 2010 15:15:52 +0000 (07:15 -0800)] 
[perl #71788] Skip $) test when NGROUPS_MAX is too small or when on darwin

7 years agoRemove an extraneous space
Josh ben Jore [Sun, 10 Jan 2010 17:32:08 +0000 (09:32 -0800)] 
Remove an extraneous space

7 years agoRe: [perl #71852] Warning "/* within comment" in Win32 config.h-related files
kmx [Mon, 11 Jan 2010 00:38:33 +0000 (00:38 +0000)] 
Re: [perl #71852] Warning "/* within comment" in Win32 config.h-related files

(Applied patch and regenerated canned config files)

Message-ID: <>

7 years agoRetain builtin attributes from pre-declaration. Fixes [perl #68758].
Gerard Goossen [Sun, 27 Dec 2009 17:02:37 +0000 (18:02 +0100)] 
Retain builtin attributes from pre-declaration. Fixes [perl #68758].

7 years agoIgnore a lvalue attribute after the subroutine has been defined, and warn about it...
Gerard Goossen [Sun, 27 Dec 2009 16:24:28 +0000 (17:24 +0100)] 
Ignore a lvalue attribute after the subroutine has been defined, and warn about it. Fixes part of [perl #68758].

7 years ago[perl #71924] shmget/semget may return zero as valid id
Rafael Garcia-Suarez [Sun, 10 Jan 2010 22:27:41 +0000 (23:27 +0100)] 
[perl #71924] shmget/semget may return zero as valid id

Documentation in perlipc thus fixed by using // instead of ||

7 years agoCompletely avoid autovivification of CORE::GLOBAL::caller
Rafael Garcia-Suarez [Sun, 10 Jan 2010 22:22:35 +0000 (23:22 +0100)] 
Completely avoid autovivification of CORE::GLOBAL::caller

(by using symbolic references as suggested by Vincent)

7 years agoTypo fix : caller:: isn't caller
Rafael Garcia-Suarez [Sun, 10 Jan 2010 21:49:31 +0000 (22:49 +0100)] 
Typo fix : caller:: isn't caller

(Noticed by Aaron Crane)

7 years agoAdd new prototype warning test file to MANIFEST
Rafael Garcia-Suarez [Sun, 10 Jan 2010 14:44:53 +0000 (15:44 +0100)] 
Add new prototype warning test file to MANIFEST

7 years agoPerldelta presentation nits
Rafael Garcia-Suarez [Sun, 10 Jan 2010 14:34:44 +0000 (15:34 +0100)] 
Perldelta presentation nits

7 years agoMove prototype parsing related warnings from the 'syntax' top level warnings category...
Matt S Trout [Thu, 10 Dec 2009 18:59:45 +0000 (18:59 +0000)] 
Move prototype parsing related warnings from the 'syntax' top level warnings category to a new 'illegalproto' subcategory.

Two warnings can be emitted when parsing a prototype -

  Illegal character in prototype for %s : %s
  Prototype after '%c' for %s : %s

The first one is emitted when any invalid character is found, the latter
when further prototype-type stuff is found after a slurpy entry (i.e. valid
character but in such a place as to be a no-op, and therefore likely a bug).

These warnings are distinct from those emitted when a sub is overwritten by
one with a different prototype, and when calls are made to subroutines with
prototypes - those are in the pre-existing sub-category 'prototype'.

Since modules such as and Web::Simple only need to disable
the warnings during parsing, I chose to add a new category containing only
these. Moving these warnings into the 'prototype' sub-category would have
forced authors to disable more warnings than they intended, and the entire
raison d'etre of this patch is to allow the specific warnings involved to
be disabled.

In order to maintain compatibility with existing code, the new location
needed to be a sub-category of 'syntax' - this means that

  no warnings 'syntax';

will continue to work as expected - even in cases like Web::Simple where all
subcategories extant prior to this patch are re-enabled (this is another
reason why a move into the 'protoype' category would not achieve the desired

The category name 'illegalproto' was chosen because the most common warning
to encounter is the "Illegal character" one, and therefore 'illegalproto'
while minorly inaccurate by ignoring the (relatively recent and unknown)
second warning is an easy name to spot on an initial skim of perllexwarn
and will behave as expected by also disabling the case of an unusual prototype
that happens to look like a normal one.

This patch updates pod/perllexwarn.pod, perldiag.pod and perl5113delta.pod
to document the new category, toke.c and to create and implement
the new category, and a new test t/op/protowarn.t that verifies the new
behaviour in a number of cases. It also includes the files generated by that are found in the repo - notably warnings.h and lib/

7 years ago2.024
paul [Sat, 9 Jan 2010 18:32:51 +0000 (18:32 +0000)] 

7 years ago[perl #71948] Documentation error for (*MARK)
Philip Hazel [Sun, 10 Jan 2010 13:47:50 +0000 (14:47 +0100)] 
[perl #71948] Documentation error for (*MARK)

The NAME portion of (*MARK:NAME) is not optional.

7 years agoUpdate skip count in perlio.t.
Craig A. Berry [Sat, 9 Jan 2010 22:34:19 +0000 (16:34 -0600)] 
Update skip count in perlio.t.

Follow-up to af9379e9ed4daaed65ba42baa492afc842917dd5.

7 years agoPL_sv_serial only exists ifdef DEBUG_LEAKING_SCALARS
David Mitchell [Sat, 9 Jan 2010 11:08:26 +0000 (11:08 +0000)] 
PL_sv_serial only exists ifdef DEBUG_LEAKING_SCALARS

Fix for 4149198fba64273f3fea8fc073ccb5d080059f4a which broke
debugging build. Whoops!

7 years agoUpdate Archive-Extract to cpan version 0.38
Chris Williams [Sat, 9 Jan 2010 09:37:30 +0000 (09:37 +0000)] 
Update Archive-Extract to cpan version 0.38

  Changes for 0.38    Wed Jan  6 23:48:52 2010
  * Apply a patch from Michael G Schwern RT #53246
    extract() is vulnerable to print globals.

7 years agofix for [perl #66108] Leaked scalars
David Mitchell [Fri, 8 Jan 2010 23:31:45 +0000 (23:31 +0000)] 
fix for [perl #66108] Leaked scalars

@DB::args is a hack: it gets set with non-refcounted aliases of the
caller's @_ elements.

Once the sub that ran caller() has exited, @DB::args will contain garbage:
elements will be SVs that have been freed, re-assigned etc.

So as a minimum, when cloning an interpreter, skip cloning @DB::args.

7 years agoreset sv_serial for each new interpreter
David Mitchell [Fri, 8 Jan 2010 19:58:06 +0000 (19:58 +0000)] 
reset sv_serial for each new interpreter

to a value of 0 + 1000000*interpreter_number
where interpreter_number is currently just a dirty hash of my_perl

7 years agoin perl_clone() move common code outside ifdef/else blocks
David Mitchell [Fri, 8 Jan 2010 19:30:14 +0000 (19:30 +0000)] 
in perl_clone() move common code outside ifdef/else blocks

e diff looks confusing, but basically it changes:



7 years agoin perl_clone() shuffle some ifdefs about a bit
David Mitchell [Fri, 8 Jan 2010 19:22:36 +0000 (19:22 +0000)] 
in perl_clone() shuffle some ifdefs about a bit

No change in logic.

7 years agounify #ifdef indent on both sides of PERL_IMPLICIT_SYS in perl_clone()
David Mitchell [Fri, 8 Jan 2010 19:16:07 +0000 (19:16 +0000)] 
unify #ifdef indent on both sides of PERL_IMPLICIT_SYS in perl_clone()

7 years agoinclude sv_debug_serial field in debugging output
David Mitchell [Fri, 8 Jan 2010 17:53:29 +0000 (17:53 +0000)] 
include sv_debug_serial field in debugging output

7 years agoAvoid race conditions with files in /tmp, by explicitly checking dev & inode.
Nicholas Clark [Thu, 7 Jan 2010 15:54:07 +0000 (15:54 +0000)] 
Avoid race conditions with files in /tmp, by explicitly checking dev & inode.

(Concerns raised by and the form of the solution suggested by Bram.)

7 years agoCorrect errors in the use of multiple targets, which could break parallel make.
Nicholas Clark [Thu, 7 Jan 2010 15:17:15 +0000 (15:17 +0000)] 
Correct errors in the use of multiple targets, which could break parallel make.

Where a single script (or program) generates multiple files, the Makefile rule
was written with those multiple files as targets on the same line. This would
be correct if that syntax meant "these $n things are built by these commands".

However it doesn't - it means "to build any of these targets, run these
commands", and hence to run them once for each of the targets. This can result
in race conditions with parallel makes, with files being trampled on and
strange failure modes.

Hence the correct style is to give one of the targets on the rule, and rules
that make all the other targets that are generated depend on that target.

7 years agoUnlink PerlIO's tempfiles for the case of no -T, but bogus $ENV{TMPDIR}
Nicholas Clark [Thu, 7 Jan 2010 14:22:39 +0000 (14:22 +0000)] 
Unlink PerlIO's tempfiles for the case of no -T, but bogus $ENV{TMPDIR}

When -T is enabled, or when $ENV{TMPDIR} is bogus, perlio.c used a pathname
matching </tmp/PerlIO_??????>. However, it was only correctly unlinking the
file for the case of -T enabled.