This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5.git
14 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.

14 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)

14 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.

14 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: <rt-3.6.HEAD-1505-1262853384-1207.71676-15-0@perl.org>

Tweaked as suggested in:

From: "H.Merijn Brand" <h.m.brand@xs4all.nl>
Date: Fri, 8 Jan 2010 13:35:17 +0100
Message-ID: <20100108133517.1f2916d3@pc09.procura.nl>

14 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

Hello,

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.
>
>
OK,
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
>
>
>
Bye
  Rainer

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

Signed-off-by: H.Merijn Brand <h.m.brand@xs4all.nl>
14 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.

14 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.

Conflicts:

pp.c

14 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

14 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

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

14 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

14 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.

14 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
build).

Zefram reports a further patch in progress:
  Message-ID: <20100116022631.GA10264@fysh.org>

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

14 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

14 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

14 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.

14 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

14 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 :)

14 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

14 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"

14 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

14 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.

14 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).

14 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)

14 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.

14 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.

14 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 Decomposition.pl, used by normalize.pm.

14 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

14 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

14 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

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

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

14 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
ENTER/LEAVE around XSUBs.

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

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 <h.m.brand@xs4all.nl>
14 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.

version.pm 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 verison.pm 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
changes.

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 version.pm distribution on CPAN,
  including pure-Perl versions

14 years agoChanged Copyright year as suggested by karl williamson in http://nntp.perl.org/group...
Abigail [Wed, 13 Jan 2010 19:51:07 +0000 (20:51 +0100)]
Changed Copyright year as suggested by karl williamson in nntp.perl.org/group/perl.perl5.porters/155493

14 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
lists.

14 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 git@github.com:briandfoy/perlfaq.git

14 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,

--tom

14 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.

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

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

14 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

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

14 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.

14 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

14 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

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

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

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

14 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.

14 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).

14 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

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

14 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

14 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

14 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]

14 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.

14 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

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

14 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: <4B44FB2B.8080509@volny.cz>

14 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].

14 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].

14 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 ||

14 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)

14 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)

14 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

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

14 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 signatures.pm 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
goal).

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 warnings.pl 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
regen.pl that are found in the repo - notably warnings.h and lib/warnings.pm.

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

14 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.

14 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.

14 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!

14 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.

14 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.

14 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

14 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:

    #ifdef PERL_IMPLICIT_SYS
      ...
      COMMON_BLOCK
    #else
      ...
      COMMON_BLOCK
    #end

into
    #ifdef PERL_IMPLICIT_SYS
      ...
    #else
      ...
    #end
    COMMON_BLOCK

14 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.

14 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()

14 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

14 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.)

14 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.

14 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.

14 years agoCleanup PerlIO temp files
Rafael Garcia-Suarez [Thu, 7 Jan 2010 11:12:49 +0000 (12:12 +0100)]
Cleanup PerlIO temp files

14 years ago[perl #71870] Use of uninitialized value in bitwise and B::Deparse
Vincent Pit [Wed, 6 Jan 2010 18:13:27 +0000 (19:13 +0100)]
[perl #71870] Use of uninitialized value in bitwise and B::Deparse

It's better to just silence it in Deparse rather than stopping
B::PMOP::reflags from returning undef because of a non-constant regexp.
That way, we keep the possibility to test for this situation, and it stays
in line with B::PMOP::pregcomp.

Also bump $B::Deparse::VERSION.

14 years agoFix typo in reference
Abigail [Wed, 6 Jan 2010 17:24:14 +0000 (18:24 +0100)]
Fix typo in reference

14 years agoMerge branch 'blead' of ssh://perl5.git.perl.org/gitroot/perl into blead
Abigail [Wed, 6 Jan 2010 17:20:27 +0000 (18:20 +0100)]
Merge branch 'blead' of ssh://perl5.git.perl.org/gitroot/perl into blead

14 years agoDocument that interpolating a '(??{ code })' construct in a regular
Abigail [Wed, 6 Jan 2010 17:19:11 +0000 (18:19 +0100)]
Document that interpolating a '(??{ code })' construct in a regular
expression also requires "use re 'eval'", just as '(?{ code })' does.

14 years agoFix a couple of typos and standardize on using 'regexp' instead of
Abigail [Wed, 6 Jan 2010 17:11:37 +0000 (18:11 +0100)]
Fix a couple of typos and standardize on using 'regexp' instead of
using a 'regex'/'regexp' mash.

14 years agovaproto for the other OS's
H.Merijn Brand [Wed, 6 Jan 2010 07:51:20 +0000 (08:51 +0100)]
vaproto for the other OS's

Follow-up to d03b3b00ac22f32af87a752669a46d9d06ae1561

14 years agoIncrease default pipe buffer size on VMS to 8192 on 64-bit systems.
Craig A. Berry [Wed, 6 Jan 2010 04:06:03 +0000 (22:06 -0600)]
Increase default pipe buffer size on VMS to 8192 on 64-bit systems.

As Charles Lane's piping code reaches its 10-year anniversary, it's
time to bump up the default to something slightly more appropriate
for modern systems.  In addition to other benefits, this fixes test
failures when a test script outputs a large amount of text on one
line (e.g., t/re/reg_posixcc.t).

14 years agovaproto for VMS.
Craig A. Berry [Wed, 6 Jan 2010 03:18:14 +0000 (21:18 -0600)]
vaproto for VMS.

Follow-up to d03b3b00ac22f32af87a752669a46d9d06ae1561, which broke
the build.

14 years ago[perl #71748] Bleadperl f0e67a1 breaks CPAN: Template::Plugin::YAML::Encode 0.02
Zefram [Tue, 5 Jan 2010 21:57:36 +0000 (22:57 +0100)]
[perl #71748] Bleadperl f0e67a1 breaks CPAN: Template::Plugin::YAML::Encode 0.02

Unsurprisingly, the nature of the bug is that I accidentally changed
the logic of one of the several types of space skipping.  Fix attached.

14 years agoAvoid a possible race condition where a parallel make might
Andy Dougherty [Tue, 5 Jan 2010 16:28:39 +0000 (11:28 -0500)]
Avoid a possible race condition where a parallel make might
attempt to update git_version.h and lib/Config_git.pl in
concurrent processes.

14 years agoSort the initialisers to non_bincompat_options[], and fix a whitespace "error".
Nicholas Clark [Tue, 5 Jan 2010 14:23:52 +0000 (14:23 +0000)]
Sort the initialisers to non_bincompat_options[], and fix a whitespace "error".

14 years agoAdd USE_ATTRIBUTES_FOR_PERLIO to the list of -V's compile-time options.
Nicholas Clark [Tue, 5 Jan 2010 13:56:31 +0000 (13:56 +0000)]
Add USE_ATTRIBUTES_FOR_PERLIO to the list of -V's compile-time options.

14 years agoTie::Hash::NamedCapture::* shouldn't abort if passed bad input [RT #71828]
Nicholas Clark [Tue, 5 Jan 2010 10:58:06 +0000 (10:58 +0000)]
Tie::Hash::NamedCapture::* shouldn't abort if passed bad input [RT #71828]

14 years agoNote which t/ subdirs are not suitable for test.pl use
Rafael Garcia-Suarez [Tue, 5 Jan 2010 08:56:58 +0000 (09:56 +0100)]
Note which t/ subdirs are not suitable for test.pl use

14 years agoFD 4 is not (yet) open at this stage.
H.Merijn Brand [Tue, 5 Jan 2010 08:36:19 +0000 (09:36 +0100)]
FD 4 is not (yet) open at this stage.

Regenerated after backporting 88a6f4fc380d30c40
Please *do* remember to notify the metaconfig folk when directly patching Configure
Bring back Missing parts

14 years agoPATCH: minor typo cleanup of pod/ directory
Tom Christiansen [Tue, 5 Jan 2010 03:32:51 +0000 (20:32 -0700)]
PATCH: minor typo cleanup of pod/ directory

These are all in the pod/ directory, and only the first is a code fix.
There was also a single lingering ISO 8859-1 encoding that missed the
UTF-8 upconvert.  The rest are cleanups for typos, some of which seem
to have been around for a rather long time: spelling errors, incorrect
possessives, and extra, missing, or duplicated words.

If you actually read through, I bet you'll realize what sparked this. :)

--tom

Signed-off-by: Abigail <abigail@abigail.be>