[perl.git] branch blead, updated. v5.21.2-76-g57d69a4

2014-07-30 Thread Chris 'Bingos' Williams
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/57d69a4016b981268198cf744741335a9b1fbb23?hp=446b89af54d4dd848d5432e339a1456502eaee01

- Log -
commit 57d69a4016b981268198cf744741335a9b1fbb23
Author: Chris 'BinGOs' Williams ch...@bingosnet.co.uk
Date:   Wed Jul 30 09:12:58 2014 +0100

Update HTTP-Tiny to CPAN version 0.047

  [DELTA]

0.047 2014-07-29 14:09:05-04:00 America/New_York

[CHANGED]

- Updated Mozilla::CA module recommendation version to 20130114

[FIXED]

- Fixed t/00-report-prereqs.t when CPAN::Meta is not installed

0.046 2014-07-21 10:32:32-04:00 America/New_York

[FIXED]

- Empty header fields are now allowed; headers with the 'undef' value
  will be rendered as an empty header.

[DOCUMENTED]

- Updated HTTP/1.1 spec description from RFC 2616 to RFC 7230-7235

0.045 2014-07-19 23:17:28-04:00 America/New_York (TRIAL RELEASE)

[FIXED]

- Fixed t/002_croakage.t for various operating systems.

M   Porting/Maintainers.pl
M   cpan/HTTP-Tiny/lib/HTTP/Tiny.pm
M   cpan/HTTP-Tiny/t/002_croakage.t
M   cpan/HTTP-Tiny/t/020_headers.t
M   cpan/HTTP-Tiny/t/140_proxy.t

commit 5f8324b5a4472646efc8d3efc3e79abd7ca8993f
Author: Chris 'BinGOs' Williams ch...@bingosnet.co.uk
Date:   Wed Jul 30 09:05:06 2014 +0100

Update CPAN-Meta to CPAN version 2.142060

  [DELTA]

2.142060  2014-07-25 13:30:06-04:00 America/New_York

  [ADDED]

  - CPAN::Meta::Merge is a new class for merging two possibly overlapping
instances of metadata. It will accept both CPAN::Meta objects and
(possibly incomplete) hashrefs of metadata.

M   MANIFEST
M   META.json
M   META.yml
M   Porting/Maintainers.pl
M   cpan/CPAN-Meta/lib/CPAN/Meta.pm
M   cpan/CPAN-Meta/lib/CPAN/Meta/Converter.pm
M   cpan/CPAN-Meta/lib/CPAN/Meta/Feature.pm
M   cpan/CPAN-Meta/lib/CPAN/Meta/History.pm
A   cpan/CPAN-Meta/lib/CPAN/Meta/Merge.pm
M   cpan/CPAN-Meta/lib/CPAN/Meta/Prereqs.pm
M   cpan/CPAN-Meta/lib/CPAN/Meta/Spec.pm
M   cpan/CPAN-Meta/lib/CPAN/Meta/Validator.pm
A   cpan/CPAN-Meta/t/merge.t

commit d79626a55aac49404ed146f9ee6890e0ba43c343
Author: Chris 'BinGOs' Williams ch...@bingosnet.co.uk
Date:   Wed Jul 30 08:57:06 2014 +0100

Sync Module-CoreList version after CPAN release

M   Porting/Maintainers.pl
---

Summary of changes:
 MANIFEST  |   2 +
 META.json |   2 +-
 META.yml  |   2 +-
 Porting/Maintainers.pl|   8 +-
 cpan/CPAN-Meta/lib/CPAN/Meta.pm   |   4 +-
 cpan/CPAN-Meta/lib/CPAN/Meta/Converter.pm |  24 +-
 cpan/CPAN-Meta/lib/CPAN/Meta/Feature.pm   |   4 +-
 cpan/CPAN-Meta/lib/CPAN/Meta/History.pm   |   4 +-
 cpan/CPAN-Meta/lib/CPAN/Meta/Merge.pm | 248 +++
 cpan/CPAN-Meta/lib/CPAN/Meta/Prereqs.pm   |   4 +-
 cpan/CPAN-Meta/lib/CPAN/Meta/Spec.pm  |   4 +-
 cpan/CPAN-Meta/lib/CPAN/Meta/Validator.pm |   4 +-
 cpan/CPAN-Meta/t/merge.t  | 118 ++
 cpan/HTTP-Tiny/lib/HTTP/Tiny.pm   | 658 +++---
 cpan/HTTP-Tiny/t/002_croakage.t   |  12 +
 cpan/HTTP-Tiny/t/020_headers.t|   9 +
 cpan/HTTP-Tiny/t/140_proxy.t  |  14 +
 17 files changed, 766 insertions(+), 355 deletions(-)
 create mode 100644 cpan/CPAN-Meta/lib/CPAN/Meta/Merge.pm
 create mode 100644 cpan/CPAN-Meta/t/merge.t

diff --git a/MANIFEST b/MANIFEST
index 1bb915f..47a0a8d 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -232,6 +232,7 @@ cpan/CPAN/lib/CPAN/Version.pm   Simple math 
with different flavors of version str
 cpan/CPAN-Meta/lib/CPAN/Meta/Converter.pm
 cpan/CPAN-Meta/lib/CPAN/Meta/Feature.pm
 cpan/CPAN-Meta/lib/CPAN/Meta/History.pm
+cpan/CPAN-Meta/lib/CPAN/Meta/Merge.pm
 cpan/CPAN-Meta/lib/CPAN/Meta.pm
 cpan/CPAN-Meta/lib/CPAN/Meta/Prereqs.pm
 cpan/CPAN-Meta/lib/CPAN/Meta/Spec.pm
@@ -296,6 +297,7 @@ cpan/CPAN-Meta/t/data-valid/META-1_0.yml
 cpan/CPAN-Meta/t/data-valid/META-1_1.yml
 cpan/CPAN-Meta/t/data-valid/scalar-meta-spec.yml
 cpan/CPAN-Meta/t/load-bad.t
+cpan/CPAN-Meta/t/merge.t
 cpan/CPAN-Meta/t/meta-obj.t
 cpan/CPAN-Meta/t/no-index.t
 cpan/CPAN-Meta/t/prereqs-finalize.t
diff --git a/META.json b/META.json
index d639e63..24a4d11 100644
--- a/META.json
+++ b/META.json
@@ -4,7 +4,7 @@
   perl5-port...@perl.org
],
dynamic_config : 1,
-   generated_by : CPAN::Meta version 2.141520,
+   generated_by : CPAN::Meta version 2.142060,
license : [
   perl_5
],
diff --git a/META.yml b/META.yml
index 474ba24..f521122 100644
--- a/META.yml
+++ b/META.yml
@@ -4,7 +4,7 @@ author:
   - 

[perl.git] branch blead, updated. v5.21.2-77-gf04d2c3

2014-07-30 Thread Yves Orton
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/f04d2c345149d984ed5180f12fa007908c91b131?hp=57d69a4016b981268198cf744741335a9b1fbb23

- Log -
commit f04d2c345149d984ed5180f12fa007908c91b131
Author: Yves Orton demer...@gmail.com
Date:   Wed Jul 30 15:44:44 2014 +0200

make require handle no argument more gracefully, and add tests

in Perl 5.14 the following segfaults:

*CORE::GLOBAL::require = sub { }; eval require;

in Perl 5.18

perl -wle'eval require;'

produces a spurious warning:

Use of uninitialized value $_ in require at (eval 1) line 1.

In other perls:

perl -e 'eval q/require $this/ or print $@'

produces:

Null filename used at (eval 1) line 1.

The error message is crappy, totally unfit for a perl audience,
and the spurious warning is just confusing. There is no $_ in use
here, why do we warn about it.

It looks like 9e3fb20c fixed the segfault (by accident), and also
somehow meant that the Null filename error would not ever be
produced.

So this patch ditches the crappy error and replaces it with something
meaningful and informative, and tests that we do not regress and start
segfaulting again.
---

Summary of changes:
 MANIFEST|  1 +
 pod/perldiag.pod|  7 ---
 pp_ctl.c|  5 -
 t/op/require_override.t | 35 +++
 4 files changed, 44 insertions(+), 4 deletions(-)
 create mode 100644 t/op/require_override.t

diff --git a/MANIFEST b/MANIFEST
index 47a0a8d..b63c75b 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -5142,6 +5142,7 @@ t/op/ref.tSee if refs and objects 
work
 t/op/repeat.t  See if x operator works
 t/op/require_37033.t   See if require always closes rsfp
 t/op/require_errors.t  See if errors from require are reported 
correctly
+t/op/require_override.t See if require handles no argument properly
 t/op/reset.t   See if reset operator works
 t/op/reverse.t See if reverse operator works
 t/op/rt119311.tTest bug #119311 (die/DESTROY/recursion)
diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index be29485..e41c8cc 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -3617,10 +3617,11 @@ to UTC.  If it's not, define the logical name
 FSYS$TIMEZONE_DIFFERENTIAL to translate to the number of seconds which
 need to be added to UTC to get local time.
 
-=item Null filename used
+=item Missing or undefined argument to require
 
-(F) You can't require the null filename, especially because on many
-machines that means the current directory!  See Lperlfunc/require.
+(F) You tried to call require with no argument or with an undefined
+value as an argument. Require expects either a package name or a
+file-specification as an argument. See Lperlfunc/require.
 
 =item NULL OP IN RUN
 
diff --git a/pp_ctl.c b/pp_ctl.c
index 7d098b7..c8f49d7 100644
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -3737,9 +3737,12 @@ PP(pp_require)
 
RETPUSHYES;
 }
+if (!SvOK(sv))
+DIE(aTHX_ Missing or undefined argument to require);
 name = SvPV_const(sv, len);
 if (!(name  len  0  *name))
-   DIE(aTHX_ Null filename used);
+DIE(aTHX_ Missing or undefined argument to require);
+
 if (!IS_SAFE_PATHNAME(name, len, require)) {
 DIE(aTHX_ Can't locate %s:   %s,
 pv_escape(newSVpvs_flags(,SVs_TEMP),SvPVX(sv),SvCUR(sv),
diff --git a/t/op/require_override.t b/t/op/require_override.t
new file mode 100644
index 000..40f794d
--- /dev/null
+++ b/t/op/require_override.t
@@ -0,0 +1,35 @@
+#!perl
+use strict;
+use warnings;
+
+BEGIN {
+chdir 't';
+require './test.pl';
+}
+
+plan(tests = 6);
+
+my @warns;
+local $SIG{__WARN__}= sub { push @warns, $_[0] };
+my $error;
+
+eval require; 1 or $error = $@;
+ok(1, Check that eval 'require' does not segv);
+ok(0 == @warns, We expect the eval to die, without producing warnings);
+like($error, qr/Missing or undefined argument to require/, Make sure we got 
the error we expect);
+
+@warns= ();
+$error= undef;
+
+*CORE::GLOBAL::require = *CORE::GLOBAL::require = sub { };
+eval require; 1 or $error = $@;
+ok(1, Check that eval 'require' on overloaded require does not segv);
+ok(0 == @warns, We expect the eval to die, without producing warnings);
+
+# NOTE! The following test does NOT represent a commitment or promise that the 
following logic is
+# the *right* thing to do. It may well not be. But this is how it works now, 
and we want to test it.
+# IOW, do not use this test as the basis to argue that this is how it SHOULD 
work. Thanks, yves.
+ok(!defined($error), We do not expect the overloaded version of require to 

[perl.git] branch blead, updated. v5.21.2-78-g3f10e7b

2014-07-30 Thread Rafael Garcia-Suarez
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/3f10e7b3c488077eb8624f47ccf07844c38a206a?hp=f04d2c345149d984ed5180f12fa007908c91b131

- Log -
commit 3f10e7b3c488077eb8624f47ccf07844c38a206a
Author: Rafael Garcia-Suarez r...@consttype.org
Date:   Wed Jul 30 16:13:20 2014 +0200

Fix tabs in MANIFEST
---

Summary of changes:
 MANIFEST | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MANIFEST b/MANIFEST
index b63c75b..99ce663 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -5142,7 +5142,7 @@ t/op/ref.tSee if refs and objects 
work
 t/op/repeat.t  See if x operator works
 t/op/require_37033.t   See if require always closes rsfp
 t/op/require_errors.t  See if errors from require are reported 
correctly
-t/op/require_override.t See if require handles no argument properly
+t/op/require_override.tSee if require handles no argument 
properly
 t/op/reset.t   See if reset operator works
 t/op/reverse.t See if reverse operator works
 t/op/rt119311.tTest bug #119311 (die/DESTROY/recursion)

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.21.2-79-ga12b621

2014-07-30 Thread Rafael Garcia-Suarez
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/a12b621d793c8351fe47e57f6bfa2df451bd6f44?hp=3f10e7b3c488077eb8624f47ccf07844c38a206a

- Log -
commit a12b621d793c8351fe47e57f6bfa2df451bd6f44
Author: Rafael Garcia-Suarez r...@consttype.org
Date:   Wed Jul 30 16:40:46 2014 +0200

Avoid pack/unpack to produce the binary form of a utf8 string
---

Summary of changes:
 t/run/switchC.t | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/t/run/switchC.t b/t/run/switchC.t
index b1a243c..f6aa868 100644
--- a/t/run/switchC.t
+++ b/t/run/switchC.t
@@ -18,7 +18,7 @@ my $r;
 my $tmpfile = tempfile();
 my $scriptfile = tempfile();
 
-my $b = pack(C*, unpack(U0C*, pack(U,256)));
+my $b = chr 256; utf8::encode $b;
 
 $r = runperl( switches = [ '-CO', '-w' ],
  prog = 'print chr(256)',

--
Perl5 Master Repository


[perl.git] branch smoke-me/khw-incore, created. v5.21.2-79-gfdd874e

2014-07-30 Thread Karl Williamson
In perl.git, the branch smoke-me/khw-incore has been created

http://perl5.git.perl.org/perl.git/commitdiff/fdd874e8c7d691237d52928f9f53acc6b6e5f75e?hp=

at  fdd874e8c7d691237d52928f9f53acc6b6e5f75e (commit)

- Log -
commit fdd874e8c7d691237d52928f9f53acc6b6e5f75e
Author: Karl Williamson k...@cpan.org
Date:   Wed Jul 30 22:38:52 2014 -0600

later

M   regexec.c

commit 2798a1f0f017f806ef3cf7de75902e628ed029fb
Author: Karl Williamson k...@cpan.org
Date:   Wed Jul 30 21:49:03 2014 -0600

regexec.c: Stack ternary operator for readability

M   regexec.c

commit 066d6ce034683bfdae582664ad5fb855a4ee41ed
Author: Karl Williamson k...@cpan.org
Date:   Sun Jul 27 21:19:48 2014 -0600

regcomp.h: Clarify comment

M   regcomp.h

commit 3c8d54771c417f50f897d6c16d280605b5cb0972
Author: Karl Williamson k...@cpan.org
Date:   Sat Jul 26 23:07:33 2014 -0600

regen/charset_translations.pl: Clarify comment

M   regen/charset_translations.pl

commit 379f6abfd1e4ae2b78898db7052fe620b4bc341e
Author: Karl Williamson k...@cpan.org
Date:   Sat Jul 26 22:50:17 2014 -0600

mktables: White-space only

The previous commit added a block around this code

M   lib/unicore/mktables

commit 4d8f67ecc1de11ee8f66807b5d056612c6a6
Author: Karl Williamson k...@cpan.org
Date:   Sat Jul 26 22:42:30 2014 -0600

mktables: Verify Unihan files versions

Most Unicode files contain versioning information.  Prior to this patch,
mktables did not verify that the Unihan inputs were the correct version.
This is in part because we don't usually compile the Unihan properties,
and because the beta files for Unicode 7.0 had the version information
in the same syntax as the rest of the files, so I thought we only had to
wait till 7.0 came out, and we would get the protection automatically
with the code that was already there.  But the format changed between
beta and release, so this patch adds code to check for the released
format.

M   lib/unicore/mktables

commit 771de1df00b81c5a251f761d99eefaedc21ecb43
Author: Karl Williamson k...@cpan.org
Date:   Sat Jul 26 22:18:59 2014 -0600

mktables: Note that a property is deprecated by Unicode

M   lib/unicore/mktables

commit 851dce8e724c992c20f4d74d416dfe7b95e4ca0a
Author: Karl Williamson k...@cpan.org
Date:   Sat Jul 26 22:06:36 2014 -0600

regen/mk_invlists.pl: Rename function

The new name more clearly reflects its input restrictions

M   regen/mk_invlists.pl

commit c344934c5da90cc598ad0006f32e90d9b46ac342
Author: Karl Williamson k...@cpan.org
Date:   Sat Jul 19 19:06:21 2014 -0600

regen/mk_invlists.pl: Do less work

We only need to reorder the native code points (0..255) for EBCDIC, so
can quit when we get there, by appropriately refactoring the code

M   regen/mk_invlists.pl

commit 370d8daf3909252d1e257a4f8a107b9d43bb0e89
Author: Karl Williamson k...@cpan.org
Date:   Sat Jul 19 15:34:49 2014 -0600

regen/mk_invlists.pl: White-space only

Indent as a result of new block in the previous commit; reformat a
comment

M   regen/mk_invlists.pl

commit ba39a027dbe08aa0e24532b0abad1163a7367117
Author: Karl Williamson k...@cpan.org
Date:   Sat Jul 19 15:27:37 2014 -0600

regen/mk_invlists.pl: Skip unnecessary work

This reorders the code points below 256 depending on the platform.
However all platforms have the same values for those above 255, so can
skip this code if the first code point (and hence all code points) being
output isn't one of those affected.

M   regen/mk_invlists.pl

commit a6814934cf1437fcc97c62fc129c7d527623b324
Author: Karl Williamson k...@cpan.org
Date:   Sat Jul 19 11:35:34 2014 -0600

Unicode::UCD:  Allow internal properties in invmap()

This adds an undocumented way to get invmap() to return internal
properties, like invlist().  This is intended only for Perl-core
use.

M   lib/Unicode/UCD.pm

commit a2bf000256ebdd86efad9457da78d1b7405c0cc8
Author: Karl Williamson k...@cpan.org
Date:   Sat Jul 19 11:32:49 2014 -0600

Unicode::UCD: pod nits

M   lib/Unicode/UCD.pm

commit 3dc28ae4f8f451d73f7f87cea03160f491d054f7
Author: Karl Williamson k...@cpan.org
Date:   Thu Jul 17 22:41:21 2014 -0600

Move inline fcn to #included file

Future commits will want this function to be able to be used in more
than one core file.

M   embed.fnc
M   embed.h
M   inline_invlist.c
M   proto.h
M   regcomp.c

commit e5fb8400edc928f1461e976b57e2a0aaeca81bf2
Author: Karl Williamson k...@cpan.org
Date:   Thu Jul 17 10:59:19 2014 -0600

regen/mk_invlists.pl: output sorted

This will make it easier to see differences in future commits

M   charclass_invlists.h
M   regen/mk_invlists.pl

commit 78e91936529fc591f39697f8a67f424b73f93c64
Author: 

[perl.git] branch tonyc/smartmatch, created. v5.21.2-84-gd6b984c

2014-07-30 Thread Tony Cook
In perl.git, the branch tonyc/smartmatch has been created

http://perl5.git.perl.org/perl.git/commitdiff/d6b984c609601d8bf7401599f7e97a9451ff19f3?hp=

at  d6b984c609601d8bf7401599f7e97a9451ff19f3 (commit)

- Log -
commit d6b984c609601d8bf7401599f7e97a9451ff19f3
Author: Tony Cook t...@develop-help.com
Date:   Thu Jul 31 15:24:24 2014 +1000

fix $foo ~~ /re/, autoref and forbid anything not permitted

The Smart Match 3 patch removed conversion of:

  $foo ~~ /bar/

to:

  $foo ~~ qr/bar/

which this change reinstates.

Also this reinstates auto-reffing of the left-hand argument so that
code like:

  @foo ~~ \bar

will call bar(\@foo).

Unfortunately this can lead to:

  @foo ~~ .\@foo

matching, since the left is auto-reffed, then stringified for comparison
with the string on the right.

Additionally, we forbid:

  $foo ~~ @bar   # compile-time
  $foo ~~ %bar   # compile-time
  $foo ~~ @bar[0.1]  # compile-time
  $foo ~~ @bar{0.1}  # compile-time
  $foo ~~ $otherref  # run-time, disallow any unblessed reference not
 # a code or regexp

M   embed.fnc
M   embed.h
M   op.c
M   opcode.h
M   pp_ctl.c
M   proto.h
M   regen/opcodes
M   t/op/smartmatch.t

commit bd020283f9ea6eea050a33cd8520de974e1ebb30
Author: Tony Cook t...@develop-help.com
Date:   Thu Jul 31 10:40:24 2014 +1000

add experimental smart-matching against numbers

This causes some tests to fail because $foo ~~ /bar/ is currently
broken and is treated as $foo == ($_ =~ /bar/)

M   lib/warnings.pm
M   pod/perldiag.pod
M   pp_ctl.c
M   regen/warnings.pl
M   t/lib/feature/switch
M   t/op/smartmatch.t
M   t/op/switch.t
M   warnings.h

commit 0a42de53b6b1ad2c748a19e58c99842f8eba
Author: Father Chrysostomos spr...@cpan.org
Date:   Thu Sep 13 00:18:28 2012 -0700

New whirled order for givwhen/last/next

given now responds to last and next.

break only breaks out of given, and does not complain about an
inner foreach.

when and default do an implicit regular next, not a ‘special’ next
that only breaks out of foreach() and given.

M   embed.fnc
M   embed.h
M   pod/perldiag.pod
M   pp_ctl.c
M   proto.h
M   t/op/switch.t

commit ce68e97bdc22d96a7e45439fafe3d4888d08276f
Author: Father Chrysostomos spr...@cpan.org
Date:   Wed Sep 12 16:33:49 2012 -0700

toke.c: use goto to reduce repetitition

I couldn’t think of a name for the label that didn’t just repeat what
the code was doing (increment_lex_allbrackets_and_set_PL_expect), so I
gave it an arbitrary short name.

M   toke.c

commit f78ba3de038204e04650cfd57ebceed3f55778e8
Author: Father Chrysostomos spr...@cpan.org
Date:   Wed Sep 12 00:21:12 2012 -0700

Smart Match 3™

I was persuaded by Smylers’ argument concerning string equivalence:
20120905143040.gz1...@stripey.com

But it is not too late for me to be overruled since this is not in
blead yet.

The list is:

  RHS type
   1. undef
   2. ~~ overloading
   3. reftype eq CODE
   4. reftype eq REGEXP
   5. fall back to eq

One question still remains:  Should undef ~~ string give a warning?
Currently it doesn’t, but neither does it call eq overloading on the
RHS if we actually have undef ~~ $overloaded_object_without_smartmatch.

This cannot be merged until we solve the fact that smart match
is used in:

cpan/autodie/lib/Fatal.pm
cpan/autodie/t/exceptions.t

This does not deal with loop controls yet, just smartmatch and the
smartmatch aspects of of givwhen.

M   embed.fnc
M   embed.h
M   ext/XS-APItest/t/fetch_pad_names.t
M   op.c
M   opcode.h
M   perl.h
M   perly.act
M   perly.h
M   perly.tab
M   perly.y
M   pod/perldiag.pod
M   pp_ctl.c
M   proto.h
M   regen/opcodes
M   t/op/smartmatch.t
M   t/op/switch.t
M   t/op/taint.t
M   toke.c
---

--
Perl5 Master Repository