perl.git
7 years agouse 'undef' instead of 'UNKNOWN' for -u
Jesse Luehrs [Mon, 18 Jun 2012 01:04:23 +0000 (20:04 -0500)] 
use 'undef' instead of 'UNKNOWN' for -u

7 years agocheck upstreams with -x too
Jesse Luehrs [Mon, 18 Jun 2012 00:57:17 +0000 (19:57 -0500)] 
check upstreams with -x too

7 years agoRevert "bump Pod::Simple to CPAN version 3.22"
Jesse Luehrs [Mon, 18 Jun 2012 00:36:24 +0000 (19:36 -0500)] 
Revert "bump Pod::Simple to CPAN version 3.22"

This reverts commit 74216f0477933a6ab02c6e6041e0dc98eb109017.

this update breaks podlators and Pod::HTML, so reverting it until i
figure out how to get those updated

7 years agobump Pod::Simple to CPAN version 3.22
Jesse Luehrs [Mon, 18 Jun 2012 00:07:40 +0000 (19:07 -0500)] 
bump Pod::Simple to CPAN version 3.22

7 years agobump HTTP::Tiny to CPAN version 0.022
Jesse Luehrs [Mon, 18 Jun 2012 00:01:52 +0000 (19:01 -0500)] 
bump HTTP::Tiny to CPAN version 0.022

7 years agobump Archive::Tar to CPAN version 1.88
Jesse Luehrs [Sun, 17 Jun 2012 23:55:30 +0000 (18:55 -0500)] 
bump Archive::Tar to CPAN version 1.88

7 years agofix error message
Jesse Luehrs [Sun, 17 Jun 2012 23:53:45 +0000 (18:53 -0500)] 
fix error message

7 years agoadd use strict to perl -d
Shlomi Fish [Sun, 17 Jun 2012 21:05:28 +0000 (00:05 +0300)] 
add use strict to perl -d

7 years agoUpdated PerlIO-via-QuotedPrint to CPAN version 0.07
Chris 'BinGOs' Williams [Fri, 8 Jun 2012 12:42:18 +0000 (13:42 +0100)] 
Updated PerlIO-via-QuotedPrint to CPAN version 0.07

  [DELTA]

0.07  5 April 2012
  Brought up to date with current code esthetics.  Verified it runs on
  5.14.2, threaded and unthreaded.

  28 January 2004
  Made sure the test-suite cleans up on multi-versioned systems.

7 years agoUpdated Memoize to CPAN version 1.03
Chris 'BinGOs' Williams [Fri, 8 Jun 2012 12:39:20 +0000 (13:39 +0100)] 
Updated Memoize to CPAN version 1.03

  [DELTA]

  1.03  Sun, 22 Apr 2012 17:11:16 -0400
    * Clarified MERGE cache options and fixed bug
    * Documentation fixes

7 years agoUpdated Term-ANSIColor to CPAN version 3.02
Chris 'BinGOs' Williams [Fri, 8 Jun 2012 12:35:48 +0000 (13:35 +0100)] 
Updated Term-ANSIColor to CPAN version 3.02

  [DELTA]

  2012-03-18  Russ Allbery  <rra@stanford.edu>

  * ANSIColor.pm: Version 3.02 released.

  * ANSIColor.pm (AUTOLOAD): Only return pass-through behavior if
  the function that was called was one of our constants, rather than
  turning every unknown function in the Term::ANSIColor namespace
  into a passthrough join function when colors are disabled.
  * t/basic.t: Test proper error reporting with colors disabled.

  * ANSIColor.pm (AUTOLOAD): Preserve an existing value of $@ when
  generating a constant sub and restore it afterwards.  Diagnose
  errors in creating the constant sub and die instead of ignoring
  them.
  * t/eval.t: New test for $@ preservation.

  * ANSIColor.pm: Add italic and the ITALIC constant.  Document that
  the support for it is rare.
  * t/basic.t: Test italic and ITALIC support.

  * ANSIColor.pm: Add "mistyped" as a stopword, required by the
  latest aspell on Debian.

7 years agoUpdated Digest-MD5 to CPAN version 2.52
Chris 'BinGOs' Williams [Fri, 8 Jun 2012 12:33:46 +0000 (13:33 +0100)] 
Updated Digest-MD5 to CPAN version 2.52

  [DELTA]

  2012-06-08   Gisle Aas <gisle@ActiveState.com>

   Gisle Aas (3):
      Wrong version number in the changelog
      The t/threads.t was missing from the MANIFEST
      Update expected digests for files

   Andrew Fresh (1):
      Remove double the

   Lyle Hopkins (1):
      Digest::Perl::MD5 OO fallback didn't work [RT#66634]

   Peter J. Acklam (1):
      Fix typos (spelling errors) in cpan/Digest-MD5/*

   Shlomi Fish (1):
      Modernize the code in the POD.

   Zefram (1):
      Makes Digest::MD5 work on Perl 5.6 [RT#75032]

7 years agoUpdated autodie to CPAN version 2.11
Chris 'BinGOs' Williams [Fri, 8 Jun 2012 12:30:42 +0000 (13:30 +0100)] 
Updated autodie to CPAN version 2.11

  [DELTA]

  2.11
        * DOCS: Explicitly documented that autodie is context
          unaware.  (Thanks to chromatic.)

        * TEST: Multi-arg open tests are skipped on VMS.
          (Thanks to Craig A. Berry.)

        * TEST BUGFIX recv.t shouldn't assume STDIN is a file handle.
          (Thanks to Todd Rinaldo)

        * TEST: Fixed compatibility with Carp 1.25.
          (Thanks to Olivier Mengué.)

        * INTERNAL: Exception classes are loaded more safely.
          (Thanks to Schwern)

7 years agoUpdated Safe to CPAN release 2.33
Chris 'BinGOs' Williams [Fri, 8 Jun 2012 12:20:11 +0000 (13:20 +0100)] 
Updated Safe to CPAN release 2.33

  [DELTA]

2.33 Tue Apr  3 2012
    - Don't eval code under 'no strict' (Father Chrysostomos)

2.32 Sat Mar 31 2012
    - Make Safe play nice with Devel::Cover

7 years agoUpdated Search-Dict to CPAN release 1.07
Chris 'BinGOs' Williams [Fri, 8 Jun 2012 12:16:58 +0000 (13:16 +0100)] 
Updated Search-Dict to CPAN release 1.07

  [DELTA]

1.07 2012-04-11

  - install into sitelib for Perl 5.12+
  - use Tie::Handle to get Tie::StdHandle for older Perls
  - avoid using fc() in v5.15.0 - v5.15.7
  - fix tests for older Perls

1.06 2012-03-31

  - suppress stat() warnings on tied filehandles

1.05  2012-03-31

  - no longer requires stat() on filehandle
  - tests use Test::More
  - case folds with fc() on Perl 5.15+

7 years agoRevert "B::Deparse: loopexes have list prec"
Father Chrysostomos [Sun, 17 Jun 2012 20:18:55 +0000 (13:18 -0700)] 
Revert "B::Deparse: loopexes have list prec"

This reverts commit 6a31dbf44ee919c340a3372c95b28d581979d165.

It turns out to be wrong.  Loopexes do have low precedence, but not
as low as I thought.  Their precedence level is actually their own,
undocumented in perlop:

diff --git a/pod/perlop.pod b/pod/perlop.pod
index 3edeabd..c9a1adf 100644
--- a/pod/perlop.pod
+++ b/pod/perlop.pod
@@ -49,6 +49,7 @@ values only, not array values.
     nonassoc   ..  ...
     right      ?:
     right      = += -= *= etc.
+    nonassoc   loop exits (last, next, goto)
     left       , =>
     nonassoc   list operators (rightward)
     right      not

I am reverting this for now, till we decide what it is that
needs fixing.

7 years agoperlop: Fit some verbatim lines into 79 cols
Karl Williamson [Sun, 17 Jun 2012 19:47:20 +0000 (13:47 -0600)] 
perlop: Fit some verbatim lines into 79 cols

7 years agonumeric.c: Fix typo, clarify comment
Karl Williamson [Sun, 17 Jun 2012 19:46:17 +0000 (13:46 -0600)] 
numeric.c: Fix typo, clarify comment

7 years agoFixup for bigint docs
Hugo van der Sanden [Sun, 17 Jun 2012 08:32:49 +0000 (09:32 +0100)] 
Fixup for bigint docs

Some copy/paste and insertion errors in bignum 0.19 left the docs in
a confusing state.

7 years agoensure correctness if sv_2mortal modifies errno
Jesse Luehrs [Sun, 17 Jun 2012 17:24:03 +0000 (12:24 -0500)] 
ensure correctness if sv_2mortal modifies errno

7 years agorequire should die if a file exists but can't be read.
Brian Fraser [Sat, 2 Jun 2012 17:15:34 +0000 (14:15 -0300)] 
require should die if a file exists but can't be read.

See [perl #113422]. If a file exists but there's an error opening it,
we throw an exception and disregard the rest of @INC.

7 years agoperldelta: entry for qr/\87/ bug fix
Karl Williamson [Sun, 17 Jun 2012 17:41:49 +0000 (11:41 -0600)] 
perldelta: entry for qr/\87/ bug fix

7 years agot/re/re_tests: Clarify comment
Karl Williamson [Sun, 17 Jun 2012 17:23:53 +0000 (11:23 -0600)] 
t/re/re_tests: Clarify comment

7 years agoregcomp.c: Warn and don't emit a NUL for e.g. /\87/
Karl Williamson [Sun, 17 Jun 2012 17:20:39 +0000 (11:20 -0600)] 
regcomp.c: Warn and don't emit a NUL for e.g. /\87/

/\87/ when there are fewer than 87 capture groups was being read as
/\00087/, with no warning.

7 years agoregcomp.c: Add comments
Karl Williamson [Sun, 17 Jun 2012 17:17:05 +0000 (11:17 -0600)] 
regcomp.c: Add comments

The main part of this commit summarizes a huge switch statement, that I
never fully understood until I wrote the comment.

7 years agotoke.c: Combine macro calls
Karl Williamson [Sat, 5 May 2012 17:16:50 +0000 (11:16 -0600)] 
toke.c: Combine macro calls

Replace a combination of macro calls with a single one that means the
 same thing

7 years agopp_hot.c: Combine macro calls
Karl Williamson [Sat, 5 May 2012 14:11:21 +0000 (08:11 -0600)] 
pp_hot.c: Combine macro calls

Replace a combination of macro calls with a single one that means the
same thing

7 years agowalk.c: Combine macro calls
Karl Williamson [Sat, 5 May 2012 14:09:41 +0000 (08:09 -0600)] 
walk.c: Combine macro calls

Replace combinations of macro calls with single ones that mean the same
thing.

7 years agoa2py.c: Use isWORDCHAR() instead of individ components
Karl Williamson [Sat, 5 May 2012 14:04:39 +0000 (08:04 -0600)] 
a2py.c: Use isWORDCHAR() instead of individ components

isWORDCHAR() is a single macro (and array lookup) that is the equivalent
of the OR of the three macros previously used.

7 years agohandy.h: Add comment
Karl Williamson [Sat, 5 May 2012 14:04:15 +0000 (08:04 -0600)] 
handy.h: Add comment

7 years agoperlipc typo fixes, reported by Linda Walsh (RT#113556)
Jesse Luehrs [Sun, 17 Jun 2012 16:44:29 +0000 (11:44 -0500)] 
perlipc typo fixes, reported by Linda Walsh (RT#113556)

7 years agotypo fix, reported by Joaquin Ferrero (RT#113616)
Jesse Luehrs [Sun, 17 Jun 2012 16:26:39 +0000 (11:26 -0500)] 
typo fix, reported by Joaquin Ferrero (RT#113616)

7 years agoadd note about minicpan mirrors and core-cpan-diff
Jesse Luehrs [Sun, 17 Jun 2012 16:22:59 +0000 (11:22 -0500)] 
add note about minicpan mirrors and core-cpan-diff

7 years agopp_hot.c: Add -Dr messages
Karl Williamson [Sun, 17 Jun 2012 14:28:51 +0000 (08:28 -0600)] 
pp_hot.c: Add -Dr messages

This announces, when run with the appropriate debug levels, when regex
matching is skipped because we know up-front that it can't possibly
match.

7 years agoPATCH: [perl #113640] Typo in perlop.pod: bignum pragma
Martin Hasch [Sun, 17 Jun 2012 13:42:34 +0000 (07:42 -0600)] 
PATCH: [perl #113640] Typo in perlop.pod: bignum pragma

There is no 'bitfloat' pragma

7 years agofix paren unwinding with CURLYN, CURLYM
David Mitchell [Sat, 16 Jun 2012 12:56:50 +0000 (13:56 +0100)] 
fix paren unwinding with CURLYN, CURLYM

Historically, CURLYN and CURLYM didn't restore lastparen ($+) nor
invalidate higher numbered paren slots (reg->offs[n].end = -1)
when backtracking.

Recent commit f6033a9d6c91e0c29d5aa5049361a529b5d7cdc4 fixed the lastparen
issue, but then exposed the offs[n].end issue, which had previously been
masked by the too-high lastparen value causing a previous state (such as a
branch) to conveniently wipe out the offending parens on further
backtracking.

Or to put it another way, each backtracker should be expected to clean up
his own mess, not hope that someone previous to him will do it for him.

Fix this by doing the .end = 1 stuff on CURLYN,M failure as well as
BRANCH/TRIE. For consistency, define a new macro to do it.

7 years agominicpan doesn't set up the by-authors symlink
Jesse Luehrs [Fri, 15 Jun 2012 22:15:19 +0000 (17:15 -0500)] 
minicpan doesn't set up the by-authors symlink

7 years agoUpdated IO-Compress to CPAN version 2.052
Chris 'BinGOs' Williams [Thu, 7 Jun 2012 21:26:46 +0000 (22:26 +0100)] 
Updated IO-Compress to CPAN version 2.052

  [DELTA]

  2.052 29 April 2012

      * IO::Compress::Zip
        Force a ZIP64 archive when it contains >= 0xFFFF entries.

      * Typos in POD
        [RT# #76130: Gunzip Pod typo in OO section: $$output instead of $$input

  2.049 18 February 2012

      * IO::Compress::Zip
        Error in t/cz-03zlib-v1.t that caused warnings with 5.15
        [RT# 110736: warnings from cpan/IO-Compress/t/cz-03zlib-v1.t]

7 years agoUpdated Compress-Raw-Bzip2 to CPAN version 2.052
Chris 'BinGOs' Williams [Thu, 7 Jun 2012 21:23:18 +0000 (22:23 +0100)] 
Updated Compress-Raw-Bzip2 to CPAN version 2.052

  [DELTA]

  2.052 29 April 2012

      * No Changes

  2.049 18 February 2012

      * No Changes

7 years agoUpdated Compress-Raw-Zlib to CPAN version 2.054
Chris 'BinGOs' Williams [Thu, 7 Jun 2012 21:03:55 +0000 (22:03 +0100)] 
Updated Compress-Raw-Zlib to CPAN version 2.054

  [DELTA]

  2.054 8 May 2012

      * Build issue on Win32
        [#77030]

  2.053 6 May 2012

      * Include zlib 1.2.7 source.

  2.052 29 April 2012

      * Fixed build issue when Perl is built with C++

  2.051 20 February 2012

      * Bug in Compress::Raw::Zlib on Windows
        [#75222]

  2.050 20 February 2012

      * Build failure on Irix & Solaris.
        [RT #69985]

  2.049 18 February 2012

      * Include zlib 1.2.6 source.

7 years agoadd note about metacpan to the rmg
Jesse Luehrs [Fri, 15 Jun 2012 21:01:30 +0000 (16:01 -0500)] 
add note about metacpan to the rmg

7 years agocheckAUTHORS.pl: another address for Renee Bäcker
Father Chrysostomos [Fri, 15 Jun 2012 16:48:35 +0000 (09:48 -0700)] 
checkAUTHORS.pl: another address for Renee Bäcker

7 years agoIncrease $Class::Struct::VERSION to 0.64
Father Chrysostomos [Fri, 15 Jun 2012 16:44:50 +0000 (09:44 -0700)] 
Increase $Class::Struct::VERSION to 0.64

7 years agoadd tests for overridden Class::Struct accessors
Renee Bäcker [Sat, 9 Jun 2012 11:17:18 +0000 (04:17 -0700)] 
add tests for overridden Class::Struct accessors

7 years ago[perl #29230] Class::Struct, accessor overrides not called from constructor
Rhesa Rozendaal [Fri, 15 Jun 2012 16:39:13 +0000 (09:39 -0700)] 
[perl #29230] Class::Struct, accessor overrides not called from constructor

Class::Struct allows you to override the accessors it creates, but it
doesn't call them in its constructor.
In other words,

     $struct->field('blah');

calls my override, but

     $struct = structure->new('field' => 'blah');

doesn't. Class::Struct simply does

     $r->{'field'} = $init{'field'}

but it would be more useful if it did

     $r->field($init{'field'})

7 years agoAdd Rhesa Rozendaal to AUTHORS
Father Chrysostomos [Fri, 15 Jun 2012 16:37:41 +0000 (09:37 -0700)] 
Add Rhesa Rozendaal to AUTHORS

7 years agoop.c:utilize: don't allocate pegop if !PL_madskills
Father Chrysostomos [Thu, 14 Jun 2012 20:16:40 +0000 (13:16 -0700)] 
op.c:utilize: don't allocate pegop if !PL_madskills

Just following what the FIXME note says. :-)

This shaves off a few CPU cycles.

7 years agoLet hints.t run at the top level
Father Chrysostomos [Thu, 14 Jun 2012 15:42:11 +0000 (08:42 -0700)] 
Let hints.t run at the top level

7 years agoTests for perl #94476
Father Chrysostomos [Thu, 14 Jun 2012 06:43:14 +0000 (23:43 -0700)] 
Tests for perl #94476

7 years agoconfigpm: comment typo
Father Chrysostomos [Thu, 14 Jun 2012 06:11:26 +0000 (23:11 -0700)] 
configpm: comment typo

7 years agoDon’t call mro_method_changed_in after newCONSTSUB
Father Chrysostomos [Thu, 14 Jun 2012 06:10:46 +0000 (23:10 -0700)] 
Don’t call mro_method_changed_in after newCONSTSUB

newCONSTSUB already does it itself (by calling newXS_len_flags,
which does it).

7 years agoDon’t create pads for sub stubs
Father Chrysostomos [Thu, 14 Jun 2012 05:46:40 +0000 (22:46 -0700)] 
Don’t create pads for sub stubs

Two code paths, sv_2cv (for \&name) and get_cvn_flags (for
&{"name"}()) were using start_subparse and newATTRSUB to create a
subroutine stub, which is what usually happens for Perl subs (with
op trees).

This resulted in subs with unused pads attached to them, because
start_subparse sets up the pad, which must be accessible dur-
ing parsing.

One code path, gv_init, which (among other things) reifies a GV after
a sub declaration (like ‘sub foo;’, which for efficiency doesn’t
create a CV), created the subroutine stub itself, without using
start_subparse/newATTRSUB.

This commit takes the code from gv_init, makes it more generic so it
can apply to the other two cases, puts it in a new function called
newSTUB, and makes all three locations call it.

Now stub creation should be faster and use less memory.

Additionally, this commit causes sv_2cv and get_cvn_flags to bypass
bug #107370 (glob stringification not round-tripping properly).  They
used to stringify the GV and pass the string to newATTRSUB (wrapped in
an op, of all things) for it to look up the GV again.  While bug
been fixed, as it was a side effect of sv_2cv triggering bug #107370.

7 years agoop.c:newPROG: Remove questionable comment
Father Chrysostomos [Wed, 13 Jun 2012 20:58:13 +0000 (13:58 -0700)] 
op.c:newPROG: Remove questionable comment

This thing about PL_eval_root going through an expensive function call
had already ceased to be the case before commit 5983a79d, which added
it.  And I think it was only ever valid for non-core code.

7 years agoUse assertions for /* NOT REACHED */
Father Chrysostomos [Wed, 13 Jun 2012 15:45:16 +0000 (08:45 -0700)] 
Use assertions for /* NOT REACHED */

to make sure it really is never reached.

7 years agosv.h: Move comment just before struct it describes
Father Chrysostomos [Wed, 13 Jun 2012 06:03:23 +0000 (23:03 -0700)] 
sv.h: Move comment just before struct it describes

It was divorced therefrom in commit 20f4945e.

7 years agoperl.c: Clarify comment
Father Chrysostomos [Wed, 13 Jun 2012 05:47:07 +0000 (22:47 -0700)] 
perl.c: Clarify comment

This comment was added by commit 17fbfdf.  Without looking at the
diff, it’s not clear that ‘Do this now’ refers to setting PL_curcop,
rather than destroying the main CV.  Also, there was a missing verb,
leading to confusion.  (I first inferred ‘cause’ when reading it,
but it is actually ‘expect’, based on inspecting the code in
sv.c:S_new_SV.)

7 years agoRmv mro_method_changed_in call on stub upgraded to const
Father Chrysostomos [Mon, 11 Jun 2012 05:39:44 +0000 (22:39 -0700)] 
Rmv mro_method_changed_in call on stub upgraded to const

If a subroutine stub exists and a new subroutine is defined with the
same name, that new subroutine’s body is attached to the stub.  So
there are no changes from the point of view of method lookup.

For most subs, mro_method_changed_in is not called in this case.

For constant subs, it was being called.

In the case where a new sub is being created, we know that
cv == GvCV(gv) and GvSTASH(gv) is set, so checking CvSTASH is
unnecessary.

7 years agogv.c: Don’t repeat GvSVn
Father Chrysostomos [Mon, 11 Jun 2012 03:12:33 +0000 (20:12 -0700)] 
gv.c: Don’t repeat GvSVn

GvSVn checks whether there is a scalar present and creates one if there
is not.  So doing GvSVn twice in a row results in a redundant check.

It has been this way since c69033f2.

7 years agoperl.c:get_cvn_flags: Move a comment where it belongs
Father Chrysostomos [Mon, 11 Jun 2012 01:00:04 +0000 (18:00 -0700)] 
perl.c:get_cvn_flags: Move a comment where it belongs

The PERL_ARGS_ASSERT_GET_CVN_FLAGS got inserted between a
comment and the code it described.

7 years agogv.c: Remove mro_method_changed_in() from gv_init
Father Chrysostomos [Sun, 10 Jun 2012 23:21:59 +0000 (16:21 -0700)] 
gv.c: Remove mro_method_changed_in() from gv_init

gv_init(_pvn) does not conceptually change anything.  There was
already a subroutine there before the stub was upgraded to a gv with
a real cv.

The example in the comment:

 sub Foo::bar($) { (shift) } sub ASDF::baz($); *ASDF::baz = \&Foo::bar

suggests that this was put in the wrong place to begin with.  Glob
assignment already takes care of mro_method_changed_in, so calling
it beforehand when reifying the glob is redundant.

7 years agogv.c: Don’t ENTER/LEAVE unnecessarily
Father Chrysostomos [Sun, 10 Jun 2012 18:17:40 +0000 (11:17 -0700)] 
gv.c: Don’t ENTER/LEAVE unnecessarily

Commit 756cb47730 added an if/else block in between ENTER/LEAVE, mov-
ing the existing code into the else block.  But the if code (consist-
ing of newCONSTSUB) never needed to be surrounded by ENTER/LEAVE.

7 years agoFix small Pod error introduced by commit c5e3e317152223ae.
Nicholas Clark [Fri, 15 Jun 2012 18:21:54 +0000 (20:21 +0200)] 
Fix small Pod error introduced by commit c5e3e317152223ae.

Spotted by t/porting/podcheck.t

7 years agoclean up documentation for sync-with-cpan
Jesse Luehrs [Fri, 15 Jun 2012 16:36:40 +0000 (11:36 -0500)] 
clean up documentation for sync-with-cpan

7 years agoadd Abigail to the release schedule
Ricardo Signes [Fri, 15 Jun 2012 16:30:19 +0000 (11:30 -0500)] 
add Abigail to the release schedule

7 years agoUpdated Test-Harness to CPAN version 3.25
Chris 'BinGOs' Williams [Sun, 3 Jun 2012 20:35:21 +0000 (21:35 +0100)] 
Updated Test-Harness to CPAN version 3.25

  [DELTA]

  3.25    2012-06-05
        - Rereleased to fix CPAN permission problem. No functional change.

  3.24    2012-06-03
        - RT #74393: corrected typo in M::B integration docs.
        - RT #63473: fix typo.
        - RT #49732: Attempt to load File::Glob::Windows to get correct
          glob semantics on Win32.
        - RT #47890: Don't use Win32::GetShortPathName.
        - RT #64404: Ignore textness ('-T') of script when reading shebang.
        - Handle the case where we don't know the wait status of the
          test more gracefully.
        - Make the test summary 'ok' line overrideable so that it can be
          changed to a plugin to make the output of prove idempotent.
        - Apply upstream patch:

            http://perl5.git.perl.org/perl.git/commit \
              /6359c64336d99060952232e7e300bd3c31afead8

          In testargs.t in Test::Harness, don't run a world-writable file.

          The test writes a file, then changes the mode, then executes it. The file needs
          to be +x to be executable (on many platforms). The file will need to be +w to
          be deletable on some platforms. But setting the file world writable just before
          running it feels like a bad idea, given that the file's name is as predictable
          as process IDs, as there's a race condition to break into the account running
          perl's tests.

7 years agoUpdated CPAN-Meta to CPAN version 2.120921
Chris 'BinGOs' Williams [Thu, 31 May 2012 19:08:13 +0000 (20:08 +0100)] 
Updated CPAN-Meta to CPAN version 2.120921

  [DELTA]

  2.120921  2012-04-01 15:20:24 Europe/Paris

  [REMOVED]

  - CPAN::Meta::Requirements has been split out into its own distribution
    so it can be used by CPAN.pm without requiring all of CPAN::Meta

  2.120920  2012-04-01 11:30:43 Europe/Paris

  [ADDED]

  - CPAN::Meta::Requirements now has a 'requirements_for_module' method
    to retrieve a version requirements string for a specific module
    [Leon Timmermans]

  [OTHER]

  - Parse::CPAN::Meta prerequisite bumped to 1.4403
  - JSON::PP prerequisites bumped to 2.27200
  - CPAN::Meta::YAML prerequisite bumped to 0.008

  2.120900  2012-03-30 13:15:15 Europe/Paris

  [BUGFIX]

  - CPAN::Meta::Requirements now treats undef requirements given to
    from_string_hash() as '0' and warns about it; add_string_requirements()
    dies if it does not get a requirements string to parse

7 years agoDual lifed CPAN-Meta-Requirements 2.122 as a prereq for CPAN-Meta
Chris 'BinGOs' Williams [Thu, 31 May 2012 19:05:36 +0000 (20:05 +0100)] 
Dual lifed CPAN-Meta-Requirements 2.122 as a prereq for CPAN-Meta

7 years agoUpdate Module-Build to CPAN version 0.40
Chris 'BinGOs' Williams [Thu, 31 May 2012 11:47:36 +0000 (12:47 +0100)] 
Update Module-Build to CPAN version 0.40

  [DELTA]

  0.40 - Fri Feb 24 18:47:48 CET 2012

  - Released 0.39_02 as 0.40 without any code changes

  0.39_02 - Thu Feb 17 00:33:18 MET 2012

  [BUG FIXES]

  - Fixed bug where modules without $VERSION might have a version of '0'
    listed in 'provides' metadata, which will be rejected by PAUSE
    [David Golden, reported by Christopher Fields]

  - Fixed bug in PodParser to allow numerals in module names
    [Tokuhirom]

  - Fixed bug where giving arguments twice led to them becoming arrays,
    resulting in install paths like "ARRAY(0xdeadbeef)/lib/Foo.pm"
    [Leon Timmermans]

  [DOCUMENTATION]

  - Fixed deviance from alphabetical order in documentation of
    constructor parameters. [Eric Brine]

  - Add documentation for configure_requires constructor parameter.
    [Eric Brine]

  - Change some of the docs' language describing relationship to
    MakeMaker. [Ken Williams]

  [OTHER]

    - List Perl-Toolchain-Gang repo as official repo

7 years agoUpdated CPANPLUS to CPAN version 0.9130
Chris 'BinGOs' Williams [Thu, 31 May 2012 11:37:46 +0000 (12:37 +0100)] 
Updated CPANPLUS to CPAN version 0.9130

  [DELTA]

Changes for 0.9130      Thu May 24 22:04:10 2012
================================================
* Always re-fetch CHECKSUMS if fetchdir is set
  (Torsten Schoenfeld)

Changes for 0.9129      Wed May  9 21:22:41 2012
================================================
* Handle multiple makemakerargs and makeflags
  arguments better.
* Use File::HomeDir for home directory location
  if it is available, thanks to kmx
* Added PERL5_CPANPLUS_HOME for altering where
  the .cpanplus directory is located

Changes for 0.9128      Sat Apr 28 21:27:06 2012
================================================
* Fix the previous fix

Changes for 0.9127      Sat Apr 28 20:34:44 2012
================================================
* Silenced annoying warnings related to older
  perls and the progress indicators

Changes for 0.9126      Sat Apr 28 00:49:43 2012
================================================
* More speed enhancements to module indexing,
  thanks to Vincent Pit

Changes for 0.9125      Wed Apr 25 14:28:34 2012
================================================
* Speed enhancements to module indexing, thanks
  to Vincent Pit

Changes for 0.9124      Fri Apr  6 19:24:55 2012
================================================
* Save the history between invocations of the
  shell.

Changes for 0.9123      Fri Mar 30 16:46:52 2012
================================================
* Added support for adding blib/script to PATH

Changes for 0.9122      Wed Mar 28 21:52:38 2012
================================================
* Don't spawn a process to check whether perl
  version prereqs are satisfied

7 years agoUpdated HTTP-Tiny to CPAN version 0.021
Chris 'BinGOs' Williams [Thu, 31 May 2012 11:20:57 +0000 (12:20 +0100)] 
Updated HTTP-Tiny to CPAN version 0.021

  [DELTA]

  0.021     2012-05-15 22:38:57 America/New_York

  [TESTING]

  - Skip live SSL testing if $ENV{http_proxy} is set

  0.020     2012-05-14 15:24:37 America/New_York

  [TESTING]

  - Capture prerequisite versions under AUTOMATED_TESTING to help
    chase down some failures from CPAN Testers

  0.019     2012-05-14 07:14:00 America/New_York

  [ADDED]

  - Require IO::Socket::SSL 1.56 (which added SSL_hostname support) when
    doing HTTPS.  [Mike Doherty]

  [TESTING]

  - Provide better diagnostic output in t/210_live_ssl.t [Mike
    Doherty]

  0.018     2012-04-18 09:39:50 America/New_York

  [ADDED]

  - Add verify_SSL option to do more secure SSL operations, incl.
    attempting to validate against a CA bundle (Mozilla::CA
    recommended, but will attempt to find some OS bundles). Also
    add SSL_opts, which passes through IO::Socket::SSL's SSL_*
    options to control SSL verification. (GH #6, #9) [Mike Doherty]

  - Reponse hashref includes final URL (including any redirections)
    [Lukas Eklund]

7 years agoUpdated Parse-CPAN-Meta to CPAN version 1.4404
Chris 'BinGOs' Williams [Thu, 31 May 2012 11:00:34 +0000 (12:00 +0100)] 
Updated Parse-CPAN-Meta to CPAN version 1.4404

  [DELTA]

  1.4404 Sun Apr 05 2012
      - Protected tests from user PERL_YAML/JSON_BACKEND

  1.4403 Sun Apr 01 2012
      - Bumped prereqs: JSON::PP to 2.27200 and CPAN::Meta::YAML to 0.008

7 years agoUpdated CPAN-Meta-YAML to CPAN version 0.008
Chris 'BinGOs' Williams [Thu, 31 May 2012 10:58:16 +0000 (11:58 +0100)] 
Updated CPAN-Meta-YAML to CPAN version 0.008

  [DELTA]

  0.008     2012-03-14 17:13:24 EST5EDT

    - Generated from ADAMK/YAML-Tiny-1.51.tar.gz

    - Updated from YAML-Tiny to fix compatibility with older Scalar::Utils

7 years agoUpdated IPC-Cmd to CPAN version 0.78
Chris 'BinGOs' Williams [Thu, 31 May 2012 10:53:48 +0000 (11:53 +0100)] 
Updated IPC-Cmd to CPAN version 0.78

  [DELTA]

  Changes for 0.78    Mon Apr 30 19:45:00 BST 2012
  =================================================
  * Use POSIX::_exit() instead of exit() in
    run_forked(). Reported by Mithun Ayachit
    [RT 76901]

7 years agoUpdated File-Fetch to CPAN version 0.34
Chris 'BinGOs' Williams [Thu, 31 May 2012 10:51:52 +0000 (11:51 +0100)] 
Updated File-Fetch to CPAN version 0.34

  [DELTA]

  Changes for 0.34        Thu Apr 12 22:25:01 2012
  =================================================
  * Added heuristics to skip tests when no
    Internet access

7 years agoUpdated Module-Load-Conditional to CPAN version 0.50
Chris 'BinGOs' Williams [Thu, 31 May 2012 10:49:00 +0000 (11:49 +0100)] 
Updated Module-Load-Conditional to CPAN version 0.50

  [DELTA]

  Changes for 0.50    Fri Apr 27 22:22:13 BST 2012
  =================================================
  * Speed enhancements with thanks to Vincent Pit

  Changes for 0.48    Thu Mar 15 13:55:50 GMT 2012
  =================================================
  * Wrap $^X in "" to foil paths with spaces
    Reported by Samuel Ferencik (via email)

7 years agoUpdated Object-Accessor to CPAN version 0.44
Chris 'BinGOs' Williams [Thu, 31 May 2012 10:46:40 +0000 (11:46 +0100)] 
Updated Object-Accessor to CPAN version 0.44

  [DELTA]

  Changes for 0.44    Wed Apr 25 14:08:30 BST  2012
  =================================================
  * can() is now fasteh thanks to Vincent Pit

7 years agoUpdate Params-Check to CPAN version 0.36
Chris 'BinGOs' Williams [Thu, 31 May 2012 10:45:07 +0000 (11:45 +0100)] 
Update Params-Check to CPAN version 0.36

  [DELTA]

  Changes for 0.36    Fri Apr 27 22:57:02 2012
  ============================================
  * More speed enhancements by Vincent Pit

  Changes for 0.34    Wed Apr 25 13:51:31 2012
  ============================================
  * check() now works fasteh thanks to
    Vincent Pit

7 years agoUpdate Archive-Extract to CPAN version 0.60
Chris 'BinGOs' Williams [Thu, 31 May 2012 10:42:36 +0000 (11:42 +0100)] 
Update Archive-Extract to CPAN version 0.60

  [DELTA]

  Changes for 0.60    Mon Feb 20 22:28:10 2012
  ============================================
  * Work around an edge-case on Linux with
    Busybox's unzip

7 years agoUpdate Archive-Tar to CPAN version 1.86
Chris 'BinGOs' Williams [Thu, 31 May 2012 10:39:34 +0000 (11:39 +0100)] 
Update Archive-Tar to CPAN version 1.86

  [DELTA]

  * important changes in version 1.86 24/05/2012 (Mark Allen)
  - don't use tell on IO::Zlib handles RT#64339

  * important changes in version 1.84 02/03/2012 (HMBRAND)
  - ptar now supports -T option [rt#75473]
  - ptar now supports dashless options [rt#75475]
  - auto-encode filenames marked as UTF-8 [rt#75474]

7 years agoperldelta: tweak minor thinko
David Mitchell [Fri, 15 Jun 2012 10:40:18 +0000 (11:40 +0100)] 
perldelta: tweak minor thinko

7 years agopoint out another use for //o
David Mitchell [Fri, 15 Jun 2012 10:37:55 +0000 (11:37 +0100)] 
point out another use for //o

Sometimes patterns with embedded code are recompiled each time even
if the pattern string hasn't changed.

7 years agoRemove RXf_UTF8 from perlreapi
David Mitchell [Fri, 15 Jun 2012 10:16:05 +0000 (11:16 +0100)] 
Remove RXf_UTF8 from perlreapi

This flag was removed 4 years ago by 8f6ae13c. Update docs to match.

7 years agoProperly restore PL_curcop after /(?{})/
David Mitchell [Fri, 15 Jun 2012 09:58:40 +0000 (10:58 +0100)] 
Properly restore PL_curcop after /(?{})/

C</$code/ or die> was reporting the place of dying as being in
an eval rather than in the main body of the code. This was because
when calling the code, we were setting PL_curcop to the inner code block
*before* doing the PUSH_MULTICALL, which happens to save PL_curcop;
the wrong value was then  being restored at the end of the function with
the POP_MULTICALL.

The fix is easy: just swap the two blocks of code that set PL_curcop and
do the PUSH_MULTICALL.

7 years agoAdd TODO note about unresolved aspects of RT #113536
Steve Hay [Fri, 15 Jun 2012 07:52:52 +0000 (08:52 +0100)] 
Add TODO note about unresolved aspects of RT #113536

Commit 4f46e52b00 fixed the ANSI case but the wider UTF-16 case
remains a problem (already known about in perltodo.pod).

7 years agoUpdate checkAUTHORS.pl for 4f46e52b00
Steve Hay [Fri, 15 Jun 2012 07:19:30 +0000 (08:19 +0100)] 
Update checkAUTHORS.pl for 4f46e52b00

7 years agoMinor fix-ups to 4f46e52b00
Steve Hay [Fri, 15 Jun 2012 07:18:22 +0000 (08:18 +0100)] 
Minor fix-ups to 4f46e52b00

7 years agoUse GetEnvironmentStringsW(..) instead of GetEnvironmentStringsA(..).
Karthik Rajagopalan [Thu, 14 Jun 2012 16:16:15 +0000 (12:16 -0400)] 
Use GetEnvironmentStringsW(..) instead of GetEnvironmentStringsA(..).

GetEnvironmentStringsA(..) return strings in the OEM code page. This
can actually mangle the environment strings if it contain special characters.
A better approach would be to get the utf-16 strings through GetEnvironmentStringsW(..)
and convert them to ANSI code page. This is now done by win32_getenvironmentstrings(..).
To free the block, you can use win32_freeenvironmentstrings(..).

7 years agorun-time /(?{})/: fix an buffer overrun
David Mitchell [Thu, 14 Jun 2012 12:10:08 +0000 (13:10 +0100)] 
run-time /(?{})/: fix an buffer overrun

String length calculation didn't allow for trailing nul.
(spotted by Nicholas)

7 years agoMerge re_eval jumbo fix branch into blead
David Mitchell [Thu, 14 Jun 2012 08:21:29 +0000 (09:21 +0100)] 
Merge re_eval jumbo fix branch into blead

This re_eval branch contains around 130 commits that collectively
reimplement the /(?{})/ mechanism. See the individual commits
and the changes to pod/* for more details, but the main highlights are:

=item *

Code blocks within patterns are now parsed in the same pass as the
surrounding code; in particular it is no longer necessary to have balanced
braces: this now works:

    /(?{  $x='{'  })/

This means that this error message is longer generated:

    Sequence (?{...}) not terminated or not {}-balanced in regex

but a new error may be seen:

    Sequence (?{...}) not terminated with ')'

In addition, literal code blocks within run-time patterns are only
compiled once, at perl compile-time:

    for my $p (...) {
        # this 'FOO' block of code is compiled once, at the same time as
        # the surrounding 'for' loop
        /$p{(?{FOO;})/;
    }

=item *

Lexical variables are now sane as regards scope, recursion and closure
behaviour. In particular, C</A(?{B})C/> behaves (from a closure viewpoint)
exactly like C</A/ && do { B } && /C/>, while  C<qr/A(?{B})C/> is like
C<sub {/A/ && do { B } && /C/}>. So this code now works how you might
expect, creating three regexes that match 1,2, and 3:

    for my $i (0..2) {
        push @r, qr/^(??{$i})$/;
    }
    "1" =~ $r[1]; # matches

=item *

The C<use re 'eval'> pragma is now strictly only required for code blocks
defined at runtime; in particular in the following, the text of the $r
pattern is still interpolated into the new pattern and recompiled, but
the individual compiled code-blocks within $r are reused rather than being
recompiled, and C<use re 'eval'> isn't needed any more:

    my $r = qr/abc(?{....})def/;
    /xyz$r/;

=item *

Flow control operators no longer crash. Each code block runs in a new
dynamic scope, so C<next> etc. will not see any enclosing loops and
C<caller> will not see any calling subroutines. C<return> returns a value
from the code block, not from any enclosing subroutine.

=item *

Perl normally caches the compilation of run-time patterns, and doesn't
recompile if the pattern hasn't changed; but this is now disabled if
required for the correct behaviour of closures; for example:

    my $code = '(??{$x})';
    for my $x (1..3) {
        $x =~ /$code/; # recompile to see fresh value of $x each time
    }

=item *

C</msix> and C<(?msix)> etc. flags are now propagated into the return
value from C<(??{})>; this now works:

    "AB" =~ /a(??{'b'})/i;

=item *

Warnings and errors will appear to come from the surrounding code (or for
run-time code blocks, from an eval) rather than from an C<re_eval>:

    use re 'eval'; $c = '(?{ warn "foo" })'; /$c/;
    /(?{ warn "foo" })/;

formerly gave:

    foo at (re_eval 1) line 1.
    foo at (re_eval 2) line 1.

and now gives:

    foo at (eval 1) line 1.
    foo at /tmp/foo line 2.

=item *

In the pluggable regex API, the regexp_engine struct has acquired a new
field C<op_comp>, which is currently just for perl's internal use, and
should be initialised to NULL by other regexp plugin modules.

7 years agosilence picky C compiler warning
David Mitchell [Thu, 14 Jun 2012 08:10:37 +0000 (09:10 +0100)] 
silence picky C compiler warning

and add assert that a (U32 & mask) value can fit in a U8.

7 years agoupdate docs for (?{}) jumbo fix
David Mitchell [Wed, 13 Jun 2012 16:29:27 +0000 (17:29 +0100)] 
update docs for (?{}) jumbo fix

Update the docs and add perldelta entries summarising the changes and
fixes related to (?{}) and (??{}) accumulated over the 120 or so commits
in this branch.

7 years agolet B know about new op_code_list field
David Mitchell [Tue, 12 Jun 2012 14:33:34 +0000 (15:33 +0100)] 
let B know about new op_code_list field

7 years agoregmatch(): avoid 'may be used uninitialized' msg
David Mitchell [Sun, 10 Jun 2012 21:29:08 +0000 (22:29 +0100)] 
regmatch(): avoid 'may be used uninitialized' msg

Hoist a NULL assignment into a wider scope than is strictly necessary,
in order to avoid a spurious compiler warning.

7 years agopropagate /msix and (?msix) etc flags into (??{})
David Mitchell [Wed, 6 Jun 2012 16:16:19 +0000 (17:16 +0100)] 
propagate /msix and (?msix) etc flags into (??{})

In  /.........(??{ some_string_value; }).../flags
and /(?flags).(??{ some_string_value; }).../,

use flags when compiling the inner /some_string_value/ pattern.

Achieve this by storing the compile-time modifier flags in the
(apparently) unused 'flags' field of the EVAL node in the (??{})
case.

7 years agotest that code within /(?{})/ etc is optimised
David Mitchell [Wed, 6 Jun 2012 10:28:40 +0000 (11:28 +0100)] 
test that code within /(?{})/ etc is optimised

7 years agoadd tests for (?{ return foo })
David Mitchell [Wed, 6 Jun 2012 09:39:26 +0000 (10:39 +0100)] 
add tests for (?{ return foo })

All types of code blocks make use of the return value from the code
block. Check they all work, with and without an explicit 'return'.

7 years agoun-TODO recursive split test
David Mitchell [Mon, 4 Jun 2012 20:30:16 +0000 (21:30 +0100)] 
un-TODO recursive split test

This test has been disabled for ages. It *should* work now, but I
cauldn't reproduce the failure in older perls, so I don't know for sure.

Also, the test appeared in two files due to the historical splitting of
pat.t into multiple test files. Remove the duplicate.

7 years agoadd test for /(??{exit})/
David Mitchell [Mon, 4 Jun 2012 20:11:34 +0000 (21:11 +0100)] 
add test for /(??{exit})/

7 years agoavoid 'unescaped left brace' warnings
David Mitchell [Mon, 4 Jun 2012 17:45:49 +0000 (18:45 +0100)] 
avoid 'unescaped left brace' warnings

7 years agoAvoid braces warning in regen_perly.pl
David Mitchell [Mon, 4 Jun 2012 17:41:07 +0000 (18:41 +0100)] 
Avoid braces warning in regen_perly.pl