[perl.git] branch blead, updated. v5.19.8-511-gb79bb83

2014-02-19 Thread Tony Cook
In perl.git, the branch blead has been updated

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

- Log -
commit b79bb8373d09257612fa6517489b425bf5c77fcb
Author: Tony Cook t...@develop-help.com
Date:   Wed Feb 19 20:26:38 2014 +1100

perldelta updates
---

Summary of changes:
 pod/perldelta.pod | 11 ++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index 7fcd909..c3cc47f 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -295,6 +295,12 @@ 
CLgetstate()|Digest::SHA/getstate/CLputstate()|Digest::SHA/putstate($str)
 
 =item *
 
+LEnglish has been upgraded from version 1.08 to 1.09.
+
+Added C$OLD_PERL_VERSION as an alias for C$].
+
+=item *
+
 LExtUtils::MakeMaker has been upgraded from version 6.86 to 6.88.
 
 Improved support for Android and other minor changes.
@@ -307,10 +313,13 @@ Force curl to be IPv4 only during testing on NetBSD.
 
 =item *
 
-LHTTP::Tiny has been upgraded from version 0.039 to 0.041.
+LHTTP::Tiny has been upgraded from version 0.039 to 0.042.
 
 Added support for keep-alive connections.
 
+If LIO::Socket::IP 0.25 or later is available, use that for
+transparent IPv4 or IPv6 support.
+
 =item *
 
 The IO-Compress module collection has been upgraded from version 2.063

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.19.8-512-g8a50cd0

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

http://perl5.git.perl.org/perl.git/commitdiff/8a50cd03a18f63853c30d77231f3eed37cdf7efa?hp=b79bb8373d09257612fa6517489b425bf5c77fcb

- Log -
commit 8a50cd03a18f63853c30d77231f3eed37cdf7efa
Author: Rafael Garcia-Suarez r...@consttype.org
Date:   Wed Feb 19 15:41:51 2014 +0100

Do not dereference hv before ensuring it's not NULL

This should fix RT #116441 and possibly other bugs.
---

Summary of changes:
 hv.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/hv.c b/hv.c
index 1d322fe..a9322aa 100644
--- a/hv.c
+++ b/hv.c
@@ -1753,10 +1753,11 @@ Perl_hv_undef_flags(pTHX_ HV *hv, U32 flags)
 {
 dVAR;
 XPVHV* xhv;
-const bool save = !!SvREFCNT(hv);
+bool save;
 
 if (!hv)
return;
+save = !!SvREFCNT(hv);
 DEBUG_A(Perl_hv_assert(aTHX_ hv));
 xhv = (XPVHV*)SvANY(hv);
 

--
Perl5 Master Repository


[perl.git] branch smoke-me/khw-locale, deleted. v5.19.8-515-g0f8be5f

2014-02-19 Thread Karl Williamson
In perl.git, the branch smoke-me/khw-locale has been deleted

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

   was  0f8be5f098d3476f81748910bcc82c3db4433c77

---
0f8be5f098d3476f81748910bcc82c3db4433c77 regcomp.c: Move some locale 
initialization code
---

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.19.8-526-gcb26ef7

2014-02-19 Thread H.Merijn Brand
In perl.git, the branch blead has been updated

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

- Log -
commit cb26ef7ab94874d85caf52a13f1dc47832f8cd97
Author: H.Merijn Brand h.m.br...@xs4all.nl
Date:   Wed Feb 19 17:07:32 2014 +0100

New bincompat options
---

Summary of changes:
 perl.c | 3 +++
 perl.h | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/perl.c b/perl.c
index 72d0485..3007dc7 100644
--- a/perl.c
+++ b/perl.c
@@ -1663,6 +1663,9 @@ S_Internals_V(pTHX_ CV *cv)
 #  ifdef NO_TAINT_SUPPORT
  NO_TAINT_SUPPORT
 #  endif
+#  ifdef PERL_BOOL_AS_CHAR
+ PERL_BOOL_AS_CHAR
+#  endif
 #  ifdef PERL_DISABLE_PMC
  PERL_DISABLE_PMC
 #  endif
diff --git a/perl.h b/perl.h
index a6e4dbb..e49d784 100644
--- a/perl.h
+++ b/perl.h
@@ -4587,6 +4587,9 @@ EXTCONST char PL_bincompat_options[] =
 #  ifdef PERLIO_LAYERS
  PERLIO_LAYERS
 #  endif
+#  ifdef PERL_DEBUG_READONLY_COW
+ PERL_DEBUG_READONLY_COW
+#  endif
 #  ifdef PERL_DEBUG_READONLY_OPS
  PERL_DEBUG_READONLY_OPS
 #  endif

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.19.8-527-g153621c

2014-02-19 Thread David Golden
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/153621ca159b5aae51e9da6bf5bb8a078405cfaf?hp=cb26ef7ab94874d85caf52a13f1dc47832f8cd97

- Log -
commit 153621ca159b5aae51e9da6bf5bb8a078405cfaf
Author: David Golden dagol...@cpan.org
Date:   Wed Feb 19 11:01:40 2014 -0500

perlootut: replace Object::Tiny with Class::Tiny

Class::Tiny is similarly small and simple in API, but with more powerful
features available.  Comparison to Object::Tiny and Class::Accessor is
here: https://metacpan.org/pod/Class::Tiny#RATIONALE

At mst's suggestion, a link to Class::Tiny::Antlers for Moose-syntax
is included.
---

Summary of changes:
 pod/perlootut.pod  | 24 +---
 t/porting/known_pod_issues.dat |  3 ++-
 2 files changed, 15 insertions(+), 12 deletions(-)

diff --git a/pod/perlootut.pod b/pod/perlootut.pod
index e494f23..a95ecc8 100644
--- a/pod/perlootut.pod
+++ b/pod/perlootut.pod
@@ -646,17 +646,17 @@ CMoose.
 Like CMoose, CClass::Accessor generates accessor methods and a
 constructor for your class.
 
-=head2 Object::Tiny
+=head2 Class::Tiny
 
-Finally, we have LObject::Tiny. This module truly lives up to its
+Finally, we have LClass::Tiny. This module truly lives up to its
 name. It has an incredibly minimal API and absolutely no dependencies
-(core or not). Still, we think it's a lot easier to use than writing
+on any recent Perl. Still, we think it's a lot easier to use than writing
 your own OO code from scratch.
 
 Here's our CFile class once more:
 
   package File;
-  use Object::Tiny qw( path content last_mod_time );
+  use Class::Tiny qw( path content last_mod_time );
 
   sub print_info {
   my $self = shift;
@@ -666,9 +666,11 @@ Here's our CFile class once more:
 
 That's it!
 
-With CObject::Tiny, all accessors are read-only. It generates a
+With CClass::Tiny, all accessors are read-write. It generates a
 constructor for you, as well as the accessors you define.
 
+You can also use LClass::Tiny::Antlers for CMoose-like syntax.
+
 =head2 Role::Tiny
 
 As we mentioned before, roles provide an alternative to inheritance,
@@ -681,7 +683,7 @@ CRole::Tiny provides some of the same features as Moose's 
role
 system, but in a much smaller package. Most notably, it doesn't support
 any sort of attribute declaration, so you have to do that by hand.
 Still, it's useful, and works well with CClass::Accessor and
-CObject::Tiny
+CClass::Tiny
 
 =head2 OO System Summary
 
@@ -704,16 +706,16 @@ time and is well battle-tested. It also has a minimal 
CMoose
 compatibility mode which makes moving from CClass::Accessor to
 CMoose easy.
 
-=item * LObject::Tiny
+=item * LClass::Tiny
 
-CObject::Tiny is the absolute minimal option. It has no dependencies,
+CClass::Tiny is the absolute minimal option. It has no dependencies,
 and almost no syntax to learn. It's a good option for a super minimal
 environment and for throwing something together quickly without having
 to worry about details.
 
 =item * LRole::Tiny
 
-Use CRole::Tiny with CClass::Accessor or CObject::Tiny if you
+Use CRole::Tiny with CClass::Accessor or CClass::Tiny if you
 find yourself considering multiple inheritance. If you go with
 CMoose, it comes with its own role implementation.
 
@@ -737,14 +739,14 @@ OO systems on CPAN. While you can still drop down to the 
bare metal and
 write your classes by hand, there's really no reason to do that with
 modern Perl.
 
-For small systems, LObject::Tiny and LClass::Accessor both provide
+For small systems, LClass::Tiny and LClass::Accessor both provide
 minimal object systems that take care of basic boilerplate for you.
 
 For bigger projects, LMoose provides a rich set of features that will
 let you focus on implementing your business logic.
 
 We encourage you to play with and evaluate LMoose,
-LClass::Accessor, and LObject::Tiny to see which OO system is right
+LClass::Accessor, and LClass::Tiny to see which OO system is right
 for you.
 
 =cut
diff --git a/t/porting/known_pod_issues.dat b/t/porting/known_pod_issues.dat
index 7d74fee..91ecb88 100644
--- a/t/porting/known_pod_issues.dat
+++ b/t/porting/known_pod_issues.dat
@@ -32,6 +32,8 @@ Class::Accessor
 Class::C3
 Class::ISA
 Class::PseudoHash
+Class::Tiny
+Class::Tiny::Antlers
 Classic::Perl
 Clone
 cpan2dist(1)
@@ -112,7 +114,6 @@ nl_langinfo(3)
 Number::Format
 Object::Accessor
 Object::InsideOut
-Object::Tiny
 open(2)
 OS2::Proc
 OS2::WinObject

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.19.8-528-g21555490

2014-02-19 Thread H.Merijn Brand
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/215554907820e516fc559dea0dba9cc33d63e205?hp=153621ca159b5aae51e9da6bf5bb8a078405cfaf

- Log -
commit 215554907820e516fc559dea0dba9cc33d63e205
Author: H.Merijn Brand h.m.br...@xs4all.nl
Date:   Wed Feb 19 17:39:00 2014 +0100

Update Config::Perl::V to 0.20
---

Summary of changes:
 Porting/Maintainers.pl  |  2 +-
 cpan/Config-Perl-V/V.pm | 12 
 pod/perldelta.pod   |  6 ++
 3 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl
index 567fcbf..e1512ad 100755
--- a/Porting/Maintainers.pl
+++ b/Porting/Maintainers.pl
@@ -233,7 +233,7 @@ use File::Glob qw(:case);
 },
 
 'Config::Perl::V' = {
-'DISTRIBUTION' = 'HMBRAND/Config-Perl-V-0.19.tgz',
+'DISTRIBUTION' = 'HMBRAND/Config-Perl-V-0.20.tgz',
 'FILES'= q[cpan/Config-Perl-V],
 'EXCLUDED' = ['examples/show-v.pl'],
 # Waiting to be merged upstream: see CPAN RT#92534
diff --git a/cpan/Config-Perl-V/V.pm b/cpan/Config-Perl-V/V.pm
index 448647e..066acac 100644
--- a/cpan/Config-Perl-V/V.pm
+++ b/cpan/Config-Perl-V/V.pm
@@ -8,7 +8,7 @@ use warnings;
 use Config;
 use Exporter;
 use vars qw($VERSION @ISA @EXPORT_OK %EXPORT_TAGS);
-$VERSION = 0.19;
+$VERSION = 0.20;
 @ISA = (Exporter);
 @EXPORT_OK   = qw( plv2hash summary myconfig signature );
 %EXPORT_TAGS = (
@@ -22,14 +22,17 @@ $VERSION = 0.19;
 
 # The list are as the perl binary has stored it in PL_bincompat_options
 #  search for it in
-#   perl.c line 1669 S_Internals_V ()
-#   perl.h line 4505 PL_bincompat_options
+#   perl.c line 1643 S_Internals_V ()
+# perl -ne'(/^S_Internals_V/../^}/)s/^\s+( .*)/$1/ and print' perl.c
+#   perl.h line 4566 PL_bincompat_options
+# perl -ne'(/^\w.*PL_bincompat/../^\w}/)s/^\s+( .*)/$1/ and print' 
perl.h
 my %BTD = map { $_ = 0 } qw(
 
 DEBUGGING
 NO_MATHOMS
 NO_HASH_SEED
 NO_TAINT_SUPPORT
+PERL_BOOL_AS_CHAR
 PERL_DISABLE_PMC
 PERL_DONT_CREATE_GVSV
 PERL_EXTERNAL_GLOB
@@ -76,6 +79,7 @@ my %BTD = map { $_ = 0 } qw(
 MULTIPLICITY
 MYMALLOC
 PERLIO_LAYERS
+PERL_DEBUG_READONLY_COW
 PERL_DEBUG_READONLY_OPS
 PERL_GLOBAL_STRUCT
 PERL_IMPLICIT_CONTEXT
@@ -518,7 +522,7 @@ H.Merijn Brand h.m.br...@xs4all.nl
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2009-2013 H.Merijn Brand
+Copyright (C) 2009-2014 H.Merijn Brand
 
 This library is free software; you can redistribute it and/or modify
 it under the same terms as Perl itself.
diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index c3cc47f..a5578d4 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -276,6 +276,12 @@ Resolve a C++ build failure in core.  [cpan #92657]
 
 =item *
 
+LConfig::Perl::V has been upgraded from version 0.19 to 0.20.
+
+Synchronize with blead (bincompat options)
+
+=item *
+
 LCPAN::Meta::YAML has been upgraded from version 0.010 to 0.011.
 
 =item *

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.19.8-530-gee1ec05

2014-02-19 Thread Karl Williamson
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/ee1ec05fa88c0444e7d8e506b018b9b80be61dd0?hp=215554907820e516fc559dea0dba9cc33d63e205

- Log -
commit ee1ec05fa88c0444e7d8e506b018b9b80be61dd0
Author: Karl Williamson pub...@khwilliamson.com
Date:   Wed Feb 19 09:37:51 2014 -0700

perllocale: Add note about ENVIRONMENT variable

This variable is part of the environment, but wasn't previously
mentioned.

M   pod/perllocale.pod

commit 18512f39426552e29d41a84a0ee5636d24f7ad84
Author: Karl Williamson pub...@khwilliamson.com
Date:   Wed Feb 19 09:36:39 2014 -0700

perlsec: Nit

M   pod/perlsec.pod
---

Summary of changes:
 pod/perllocale.pod | 9 +
 pod/perlsec.pod| 5 +++--
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/pod/perllocale.pod b/pod/perllocale.pod
index 5a3a325..62a2d8b 100644
--- a/pod/perllocale.pod
+++ b/pod/perllocale.pod
@@ -1113,6 +1113,15 @@ of a match involving C\w while Cuse locale is in 
effect.
 
 =over 12
 
+=item PERL_SKIP_LOCALE_INIT
+
+This environment variable, available starting in Perl v5.20, and if it
+evaluates to a TRUE value, tells Perl to not use the rest of the
+environment variables to initialize with.  Instead, Perl uses whatever
+the current locale settings are.  This is particularly useful in
+embedded environments, see
+Lperlembed/Using embedded Perl with POSIX locales.
+
 =item PERL_BADLANG
 
 A string that can suppress Perl's warning about failed locale settings
diff --git a/pod/perlsec.pod b/pod/perlsec.pod
index e480cb3..703bd46 100644
--- a/pod/perlsec.pod
+++ b/pod/perlsec.pod
@@ -183,8 +183,9 @@ But testing for taintedness gets you only so far.  
Sometimes you have just
 to clear your data's taintedness.  Values may be untainted by using them
 as keys in a hash; otherwise the only way to bypass the tainting
 mechanism is by referencing subpatterns from a regular expression match.
-Perl presumes that if you reference a substring using $1, $2, etc., that
-you knew what you were doing when you wrote the pattern.  That means using
+Perl presumes that if you reference a substring using $1, $2, etc. in a
+non-tainting pattern, that
+you knew what you were doing when you wrote that pattern.  That means using
 a bit of thought--don't just blindly untaint anything, or you defeat the
 entire mechanism.  It's better to verify that the variable has only good
 characters (for certain values of good) rather than checking whether it

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.19.8-533-g63baef5

2014-02-19 Thread Karl Williamson
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/63baef57e83f77e202ae14ef902a6615cf69c8a2?hp=ee1ec05fa88c0444e7d8e506b018b9b80be61dd0

- Log -
commit 63baef57e83f77e202ae14ef902a6615cf69c8a2
Author: Karl Williamson pub...@khwilliamson.com
Date:   Tue Feb 18 12:59:26 2014 -0700

Make taint checking regex compile time instead of runtime

See discussion at https://rt.perl.org/Ticket/Display.html?id=120675
There are several unresolved  items in this discussion, but we did agree
that tainting should be dependent only on the regex pattern, and not the
particular input string being matched against:

The bottom line is we are moving to the policy that tainting is based
on the operation being in locale, without regard to the particular
operand's contents passed this time to the operation. This means simpler
core code and more consistent tainting results. And it lessens the
likelihood that there are paths in the core that should taint but don't

This commit does the minimal work to change regex pattern matching to
determine tainting at pattern compilation time.  Simply put, if a
pattern contains a regnode whose match/not match depends on the run-time
locale, any attempt to match against that pattern will taint, regardless
of the actual target string or runtime locale in effect.  Given this
change, there are optimizations that can be made to avoid runtime work,
but these are deferred until later.

Note that just because a regular expression is compiled under locale
doesn't mean that the generated pattern will be tainted.  It depends on
the actual pattern.  For example, the pattern /(.)/ doesn't taint
because it will match exactly one character of the input, regardless of
locale settings.

M   lib/locale.t
M   pod/perldelta.pod
M   pod/perllocale.pod
M   pp_hot.c
M   regcomp.c
M   regexec.c

commit fdf73a7f7fb994c00e17a01f146018fcb3c47ffb
Author: Karl Williamson pub...@khwilliamson.com
Date:   Tue Feb 18 11:37:10 2014 -0700

lib/locale.t: Add some test names

M   lib/locale.t

commit 9486279ceb5a3e105081b7470810dca288230535
Author: Karl Williamson pub...@khwilliamson.com
Date:   Tue Feb 18 11:45:48 2014 -0700

lib/locale.t: Untaint before checking if next thing taints

The tests weren't testing what they purported to, as we should be sure
to start with untained values to see if the operation taints.

M   lib/locale.t
---

Summary of changes:
 lib/locale.t   | 258 +++--
 pod/perldelta.pod  |  27 --
 pod/perllocale.pod |  23 +++--
 pp_hot.c   |   7 +-
 regcomp.c  |  32 +--
 regexec.c  |  18 
 6 files changed, 237 insertions(+), 128 deletions(-)

diff --git a/lib/locale.t b/lib/locale.t
index b195394..4708b58 100644
--- a/lib/locale.t
+++ b/lib/locale.t
@@ -110,7 +110,7 @@ check_taint_not   $, not tainted outside 'use locale';
 
 use locale;# engage locale and therefore locale taint.
 
-check_taint_not   $a;
+check_taint_not   $a, \t\$a;
 
 check_taint   uc($a);
 check_taint   \U$a;
@@ -133,139 +133,227 @@ $_ = $a;# untaint $_
 
 $_ = uc($a);   # taint $_
 
-check_taint  $_;
+check_taint  $_, \t\$_;
 
 /(\w)/;# taint $, $`, $', $+, $1.
-check_taint  $;
-check_taint  $`;
-check_taint  $';
-check_taint  $+;
-check_taint  $1;
-check_taint_not  $2;
+check_taint  $, \t/(\\w)/ \$;
+check_taint  $`, \t\$`;
+check_taint  $', \t\$';
+check_taint  $+, \t\$+;
+check_taint  $1, \t\$1;
+check_taint_not  $2, \t\$2;
 
 /(.)/; # untaint $, $`, $', $+, $1.
-check_taint_not  $;
-check_taint_not  $`;
-check_taint_not  $';
-check_taint_not  $+;
-check_taint_not  $1;
-check_taint_not  $2;
+check_taint_not  $, \t/(.)/ \$;
+check_taint_not  $`, \t\$`;
+check_taint_not  $', \t\$';
+check_taint_not  $+, \t\$+;
+check_taint_not  $1, \t\$1;
+check_taint_not  $2, \t\$2;
 
 /(\W)/;# taint $, $`, $', $+, $1.
-check_taint  $;
-check_taint  $`;
-check_taint  $';
-check_taint  $+;
-check_taint  $1;
-check_taint_not  $2;
+check_taint  $, \t/(\\W)/ \$;
+check_taint  $`, \t\$`;
+check_taint  $', \t\$';
+check_taint  $+, \t\$+;
+check_taint  $1, \t\$1;
+check_taint_not  $2, \t\$2;
+
+/(.)/; # untaint $, $`, $', $+, $1.
+check_taint_not  $, \t/(.)/ \$;
+check_taint_not  $`, \t\$`;
+check_taint_not  $', \t\$';
+check_taint_not  $+, \t\$+;
+check_taint_not  $1, \t\$1;
+check_taint_not  $2, \t\$2;
 
 /(\s)/;# taint $, $`, $', $+, $1.
-check_taint  $;
-check_taint  $`;
-check_taint  $';
-check_taint  $+;
-check_taint  $1;
-check_taint_not  $2;
+check_taint  $, \t/(\\s)/ \$;
+check_taint  $`, 

[perl.git] branch blead, updated. v5.19.8-534-g89f7b9a

2014-02-19 Thread Karl Williamson
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/89f7b9aac23a02ff8140b277b76eb7a70b0b04cc?hp=63baef57e83f77e202ae14ef902a6615cf69c8a2

- Log -
commit 89f7b9aac23a02ff8140b277b76eb7a70b0b04cc
Author: Karl Williamson pub...@khwilliamson.com
Date:   Wed Feb 19 14:55:29 2014 -0700

.locale.c: Better emulate POSIX locale setting on Windows

Commit b385bb4ddcb252e69a1044d702646741e2e489fb introduced
my_setlocale() compiled only under Windows which emulates the POSIX
rules for setting the locale.  It differs from Windows only if the
locale passed in is .  Unfortunately it was buggy if the category
being set was LC_ALL, and there is a LANG environment variable.  LANG
has lower precedence than the other environment variables, like
LC_NUMERIC, but my_setlocale() was giving it higher priority when set
through LC_ALL.

This should solve the problems being seen since
7cd8b56846670e577e1f62479eab8f38fb11da14
---

Summary of changes:
 locale.c | 60 ++--
 1 file changed, 58 insertions(+), 2 deletions(-)

diff --git a/locale.c b/locale.c
index 9557a17..b8bfe4a 100644
--- a/locale.c
+++ b/locale.c
@@ -348,6 +348,9 @@ Perl_my_setlocale(pTHX_ int category, const char* locale)
  * otherwise to use the particular category's variable if set; otherwise to
  * use the LANG variable. */
 
+unsigned override_LANG = 0;
+char * result;
+
 if (locale  strEQ(locale, )) {
 #   ifdef LC_ALL
 locale = PerlEnv_getenv(LC_ALL);
@@ -356,6 +359,7 @@ Perl_my_setlocale(pTHX_ int category, const char* locale)
 switch (category) {
 #   ifdef LC_ALL
 case LC_ALL:
+override_LANG++;
 break;  /* We already know its variable isn't set */
 #   endif
 #   ifdef USE_LOCALE_TIME
@@ -395,7 +399,10 @@ Perl_my_setlocale(pTHX_ int category, const char* locale)
 }
 if (! locale) {
 locale = PerlEnv_getenv(LANG);
-if (! locale) {
+if (locale) {
+override_LANG++;
+}
+else {
 locale = ;
 }
 }
@@ -404,7 +411,56 @@ Perl_my_setlocale(pTHX_ int category, const char* locale)
 #   endif
 }
 
-return setlocale(category, locale);
+result = setlocale(category, locale);
+
+if (override_LANG  2)  {
+return result;
+}
+
+/* Here the input locale was LC_ALL, and we have set it to what is in the
+ * LANG variable.  But LANG has lower priority than the other LC_foo
+ * variables, so override it for each one that is set.  (If they are set to
+ * , it means to use the same thing we just set LC_ALL to, so can skip)
+ * */
+#   ifdef USE_LOCALE_TIME
+result = PerlEnv_getenv(LC_TIME);
+if (result and strNE(result, )) {
+setlocale(LC_TIME, result);
+}
+#   endif
+#   ifdef USE_LOCALE_CTYPE
+result = PerlEnv_getenv(LC_CTYPE);
+if (result and strNE(result, )) {
+setlocale(LC_CTYPE, result);
+}
+#   endif
+#   ifdef USE_LOCALE_COLLATE
+result = PerlEnv_getenv(LC_COLLATE);
+if (result and strNE(result, )) {
+setlocale(LC_COLLATE, result);
+}
+#   endif
+#   ifdef USE_LOCALE_MONETARY
+result = PerlEnv_getenv(LC_MONETARY);
+if (result and strNE(result, )) {
+setlocale(LC_MONETARY, result);
+}
+#   endif
+#   ifdef USE_LOCALE_NUMERIC
+result = PerlEnv_getenv(LC_NUMERIC);
+if (result and strNE(result, )) {
+setlocale(LC_NUMERIC, result);
+}
+#   endif
+#   ifdef USE_LOCALE_MESSAGES
+result = PerlEnv_getenv(LC_MESSAGES);
+if (result and strNE(result, )) {
+setlocale(LC_MESSAGES, result);
+}
+#   endif
+
+return setlocale(LC_ALL, NULL);
+
 }
 
 #endif

--
Perl5 Master Repository


Re: [perl.git] branch blead, updated. v5.19.8-534-g89f7b9a

2014-02-19 Thread Steve Hay
On 19 February 2014 22:07, Karl Williamson pub...@khwilliamson.com wrote:
 In perl.git, the branch blead has been updated

 http://perl5.git.perl.org/perl.git/commitdiff/89f7b9aac23a02ff8140b277b76eb7a70b0b04cc?hp=63baef57e83f77e202ae14ef902a6615cf69c8a2

 - Log -
 commit 89f7b9aac23a02ff8140b277b76eb7a70b0b04cc
 Author: Karl Williamson pub...@khwilliamson.com
 Date:   Wed Feb 19 14:55:29 2014 -0700

[...]
 +/* Here the input locale was LC_ALL, and we have set it to what is in the
 + * LANG variable.  But LANG has lower priority than the other LC_foo
 + * variables, so override it for each one that is set.  (If they are set 
 to
 + * , it means to use the same thing we just set LC_ALL to, so can skip)
 + * */
 +#   ifdef USE_LOCALE_TIME
 +result = PerlEnv_getenv(LC_TIME);
 +if (result and strNE(result, )) {

You mean , not and, right?...

..\locale.c(433) : error C2146: syntax error : missing ')' before
identifier 'and'
..\locale.c(433) : warning C4013: 'and' undefined; assuming extern returning int
..\locale.c(433) : error C2059: syntax error : ')'
..\locale.c(433) : error C2143: syntax error : missing ';' before '{'
..\locale.c(439) : error C2146: syntax error : missing ')' before
identifier 'and'
..\locale.c(439) : error C2059: syntax error : ')'
..\locale.c(439) : error C2143: syntax error : missing ';' before '{'
..\locale.c(445) : error C2146: syntax error : missing ')' before
identifier 'and'
..\locale.c(445) : error C2059: syntax error : ')'
..\locale.c(445) : error C2143: syntax error : missing ';' before '{'
..\locale.c(451) : error C2146: syntax error : missing ')' before
identifier 'and'
..\locale.c(451) : error C2059: syntax error : ')'
..\locale.c(451) : error C2143: syntax error : missing ';' before '{'
NMAKE : fatal error U1077: 'c:\Program Files (x86)\Microsoft Visual
Studio 10.0\VC\BIN\cl.EXE' : return code '0x2'
Stop.


Re: [perl.git] branch blead, updated. v5.19.8-534-g89f7b9a

2014-02-19 Thread Karl Williamson

On 02/19/2014 03:22 PM, Steve Hay wrote:

On 19 February 2014 22:07, Karl Williamson pub...@khwilliamson.com wrote:

In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/89f7b9aac23a02ff8140b277b76eb7a70b0b04cc?hp=63baef57e83f77e202ae14ef902a6615cf69c8a2

- Log -
commit 89f7b9aac23a02ff8140b277b76eb7a70b0b04cc
Author: Karl Williamson pub...@khwilliamson.com
Date:   Wed Feb 19 14:55:29 2014 -0700


[...]

+/* Here the input locale was LC_ALL, and we have set it to what is in the
+ * LANG variable.  But LANG has lower priority than the other LC_foo
+ * variables, so override it for each one that is set.  (If they are set to
+ * , it means to use the same thing we just set LC_ALL to, so can skip)
+ * */
+#   ifdef USE_LOCALE_TIME
+result = PerlEnv_getenv(LC_TIME);
+if (result and strNE(result, )) {


You mean , not and, right?...

..\locale.c(433) : error C2146: syntax error : missing ')' before
identifier 'and'
..\locale.c(433) : warning C4013: 'and' undefined; assuming extern returning int
..\locale.c(433) : error C2059: syntax error : ')'
..\locale.c(433) : error C2143: syntax error : missing ';' before '{'
..\locale.c(439) : error C2146: syntax error : missing ')' before
identifier 'and'
..\locale.c(439) : error C2059: syntax error : ')'
..\locale.c(439) : error C2143: syntax error : missing ';' before '{'
..\locale.c(445) : error C2146: syntax error : missing ')' before
identifier 'and'
..\locale.c(445) : error C2059: syntax error : ')'
..\locale.c(445) : error C2143: syntax error : missing ';' before '{'
..\locale.c(451) : error C2146: syntax error : missing ')' before
identifier 'and'
..\locale.c(451) : error C2059: syntax error : ')'
..\locale.c(451) : error C2143: syntax error : missing ';' before '{'
NMAKE : fatal error U1077: 'c:\Program Files (x86)\Microsoft Visual
Studio 10.0\VC\BIN\cl.EXE' : return code '0x2'
Stop.



SInce the deadline for the release is just about now, and our only 
Windows smoker keeps hanging, I'm unable to fully test this on my 
machine, so I'm relying on the kindness of other porters to get this 
fixed soon.  Several new patches are about to be pushed.  I'd appreciate 
it if you try them out like you just did.


[perl.git] branch blead, updated. v5.19.8-537-g730252b

2014-02-19 Thread Karl Williamson
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/730252b299f0cde0043bed7edb5bcf0c3e37fd38?hp=89f7b9aac23a02ff8140b277b76eb7a70b0b04cc

- Log -
commit 730252b299f0cde0043bed7edb5bcf0c3e37fd38
Author: Karl Williamson pub...@khwilliamson.com
Date:   Wed Feb 19 15:39:18 2014 -0700

locale.c: Change 'and' to ''

To actually compile on Windows

M   locale.c

commit 6a188f46435c74e7ced12ece237a7fdb3923a609
Author: Karl Williamson pub...@khwilliamson.com
Date:   Wed Feb 19 15:33:00 2014 -0700

run/locale.t: White-space only

Align a column

M   t/run/locale.t

commit 481465ea22afd2442b2dd335f19832773b0663e2
Author: Karl Williamson pub...@khwilliamson.com
Date:   Wed Feb 19 15:31:07 2014 -0700

locale.c: Another POSIX emulation fix on Windows

Right after I pushed the previous commit, I realized that the system
default locale on Windows should also have lower priority (besides LANG)
than the LC_foo environment variables.  This should do that.

M   locale.c
M   t/run/locale.t
---

Summary of changes:
 locale.c   | 31 ++-
 t/run/locale.t | 18 --
 2 files changed, 30 insertions(+), 19 deletions(-)

diff --git a/locale.c b/locale.c
index b8bfe4a..3fc55a8 100644
--- a/locale.c
+++ b/locale.c
@@ -348,7 +348,7 @@ Perl_my_setlocale(pTHX_ int category, const char* locale)
  * otherwise to use the particular category's variable if set; otherwise to
  * use the LANG variable. */
 
-unsigned override_LANG = 0;
+bool override_LC_ALL = 0;
 char * result;
 
 if (locale  strEQ(locale, )) {
@@ -359,7 +359,7 @@ Perl_my_setlocale(pTHX_ int category, const char* locale)
 switch (category) {
 #   ifdef LC_ALL
 case LC_ALL:
-override_LANG++;
+override_LC_ALL = TRUE;
 break;  /* We already know its variable isn't set */
 #   endif
 #   ifdef USE_LOCALE_TIME
@@ -399,10 +399,7 @@ Perl_my_setlocale(pTHX_ int category, const char* locale)
 }
 if (! locale) {
 locale = PerlEnv_getenv(LANG);
-if (locale) {
-override_LANG++;
-}
-else {
+if (! locale) {
 locale = ;
 }
 }
@@ -413,48 +410,48 @@ Perl_my_setlocale(pTHX_ int category, const char* locale)
 
 result = setlocale(category, locale);
 
-if (override_LANG  2)  {
+if (! override_LC_ALL)  {
 return result;
 }
 
 /* Here the input locale was LC_ALL, and we have set it to what is in the
- * LANG variable.  But LANG has lower priority than the other LC_foo
- * variables, so override it for each one that is set.  (If they are set to
- * , it means to use the same thing we just set LC_ALL to, so can skip)
- * */
+ * LANG variable or the system default if there is no LANG.  But these have
+ * lower priority than the other LC_foo variables, so override it for each
+ * one that is set.  (If they are set to , it means to use the same thing
+ * we just set LC_ALL to, so can skip) */
 #   ifdef USE_LOCALE_TIME
 result = PerlEnv_getenv(LC_TIME);
-if (result and strNE(result, )) {
+if (result  strNE(result, )) {
 setlocale(LC_TIME, result);
 }
 #   endif
 #   ifdef USE_LOCALE_CTYPE
 result = PerlEnv_getenv(LC_CTYPE);
-if (result and strNE(result, )) {
+if (result  strNE(result, )) {
 setlocale(LC_CTYPE, result);
 }
 #   endif
 #   ifdef USE_LOCALE_COLLATE
 result = PerlEnv_getenv(LC_COLLATE);
-if (result and strNE(result, )) {
+if (result  strNE(result, )) {
 setlocale(LC_COLLATE, result);
 }
 #   endif
 #   ifdef USE_LOCALE_MONETARY
 result = PerlEnv_getenv(LC_MONETARY);
-if (result and strNE(result, )) {
+if (result  strNE(result, )) {
 setlocale(LC_MONETARY, result);
 }
 #   endif
 #   ifdef USE_LOCALE_NUMERIC
 result = PerlEnv_getenv(LC_NUMERIC);
-if (result and strNE(result, )) {
+if (result  strNE(result, )) {
 setlocale(LC_NUMERIC, result);
 }
 #   endif
 #   ifdef USE_LOCALE_MESSAGES
 result = PerlEnv_getenv(LC_MESSAGES);
-if (result and strNE(result, )) {
+if (result  strNE(result, )) {
 setlocale(LC_MESSAGES, result);
 }
 #   endif
diff --git a/t/run/locale.t b/t/run/locale.t
index e326f78..f522e0f 100644
--- a/t/run/locale.t
+++ b/t/run/locale.t
@@ -177,7 +177,7 @@ EOF
local $ENV{LC_NUMERIC} = $_;
local $ENV{LC_ALL}; # so it never overrides LC_NUMERIC
fresh_perl_is('EOF', $difference x4, {},
-use locale;
+use locale;
use POSIX qw(locale_h);
setlocale(LC_NUMERIC, );

Re: [perl.git] branch blead, updated. v5.19.8-534-g89f7b9a

2014-02-19 Thread Karl Williamson

On 02/19/2014 03:43 PM, Karl Williamson wrote:

On 02/19/2014 03:22 PM, Steve Hay wrote:

On 19 February 2014 22:07, Karl Williamson pub...@khwilliamson.com
wrote:

In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/89f7b9aac23a02ff8140b277b76eb7a70b0b04cc?hp=63baef57e83f77e202ae14ef902a6615cf69c8a2


- Log -
commit 89f7b9aac23a02ff8140b277b76eb7a70b0b04cc
Author: Karl Williamson pub...@khwilliamson.com
Date:   Wed Feb 19 14:55:29 2014 -0700


[...]

+/* Here the input locale was LC_ALL, and we have set it to what
is in the
+ * LANG variable.  But LANG has lower priority than the other
LC_foo
+ * variables, so override it for each one that is set.  (If they
are set to
+ * , it means to use the same thing we just set LC_ALL to, so
can skip)
+ * */
+#   ifdef USE_LOCALE_TIME
+result = PerlEnv_getenv(LC_TIME);
+if (result and strNE(result, )) {


You mean , not and, right?...

..\locale.c(433) : error C2146: syntax error : missing ')' before
identifier 'and'
..\locale.c(433) : warning C4013: 'and' undefined; assuming extern
returning int
..\locale.c(433) : error C2059: syntax error : ')'
..\locale.c(433) : error C2143: syntax error : missing ';' before '{'
..\locale.c(439) : error C2146: syntax error : missing ')' before
identifier 'and'
..\locale.c(439) : error C2059: syntax error : ')'
..\locale.c(439) : error C2143: syntax error : missing ';' before '{'
..\locale.c(445) : error C2146: syntax error : missing ')' before
identifier 'and'
..\locale.c(445) : error C2059: syntax error : ')'
..\locale.c(445) : error C2143: syntax error : missing ';' before '{'
..\locale.c(451) : error C2146: syntax error : missing ')' before
identifier 'and'
..\locale.c(451) : error C2059: syntax error : ')'
..\locale.c(451) : error C2143: syntax error : missing ';' before '{'
NMAKE : fatal error U1077: 'c:\Program Files (x86)\Microsoft Visual
Studio 10.0\VC\BIN\cl.EXE' : return code '0x2'
Stop.



SInce the deadline for the release is just about now, and our only
Windows smoker keeps hanging, I'm unable to fully test this on my
machine, so I'm relying on the kindness of other porters to get this
fixed soon.  Several new patches are about to be pushed.  I'd appreciate
it if you try them out like you just did.


Now pushed, as 730252b299f0cde0043bed7edb5bcf0c3e37fd38

I did test the function on my machine by faking out the #ifdef's.  But I 
was using g++, where 'and' is a synonym for .  Before pushing, I 
compiled with gcc, but here, the #ifdefs weren't faked.


Re: [perl.git] branch blead, updated. v5.19.8-534-g89f7b9a

2014-02-19 Thread Steve Hay
On 19 February 2014 22:49, Karl Williamson pub...@khwilliamson.com wrote:
 On 02/19/2014 03:43 PM, Karl Williamson wrote:

 On 02/19/2014 03:22 PM, Steve Hay wrote:

 On 19 February 2014 22:07, Karl Williamson pub...@khwilliamson.com
 wrote:

 In perl.git, the branch blead has been updated


 http://perl5.git.perl.org/perl.git/commitdiff/89f7b9aac23a02ff8140b277b76eb7a70b0b04cc?hp=63baef57e83f77e202ae14ef902a6615cf69c8a2


 - Log -
 commit 89f7b9aac23a02ff8140b277b76eb7a70b0b04cc
 Author: Karl Williamson pub...@khwilliamson.com
 Date:   Wed Feb 19 14:55:29 2014 -0700

 [...]

 +/* Here the input locale was LC_ALL, and we have set it to what
 is in the
 + * LANG variable.  But LANG has lower priority than the other
 LC_foo
 + * variables, so override it for each one that is set.  (If they
 are set to
 + * , it means to use the same thing we just set LC_ALL to, so
 can skip)
 + * */
 +#   ifdef USE_LOCALE_TIME
 +result = PerlEnv_getenv(LC_TIME);
 +if (result and strNE(result, )) {


 You mean , not and, right?...

 ..\locale.c(433) : error C2146: syntax error : missing ')' before
 identifier 'and'
 ..\locale.c(433) : warning C4013: 'and' undefined; assuming extern
 returning int
 ..\locale.c(433) : error C2059: syntax error : ')'
 ..\locale.c(433) : error C2143: syntax error : missing ';' before '{'
 ..\locale.c(439) : error C2146: syntax error : missing ')' before
 identifier 'and'
 ..\locale.c(439) : error C2059: syntax error : ')'
 ..\locale.c(439) : error C2143: syntax error : missing ';' before '{'
 ..\locale.c(445) : error C2146: syntax error : missing ')' before
 identifier 'and'
 ..\locale.c(445) : error C2059: syntax error : ')'
 ..\locale.c(445) : error C2143: syntax error : missing ';' before '{'
 ..\locale.c(451) : error C2146: syntax error : missing ')' before
 identifier 'and'
 ..\locale.c(451) : error C2059: syntax error : ')'
 ..\locale.c(451) : error C2143: syntax error : missing ';' before '{'
 NMAKE : fatal error U1077: 'c:\Program Files (x86)\Microsoft Visual
 Studio 10.0\VC\BIN\cl.EXE' : return code '0x2'
 Stop.


 SInce the deadline for the release is just about now, and our only
 Windows smoker keeps hanging, I'm unable to fully test this on my
 machine, so I'm relying on the kindness of other porters to get this
 fixed soon.  Several new patches are about to be pushed.  I'd appreciate
 it if you try them out like you just did.


 Now pushed, as 730252b299f0cde0043bed7edb5bcf0c3e37fd38

 I did test the function on my machine by faking out the #ifdef's.  But I was
 using g++, where 'and' is a synonym for .  Before pushing, I compiled with
 gcc, but here, the #ifdefs weren't faked.

I understand. Sorry - I didn't mean to sound rude. I really appreciate
your efforts on this. It can't be easy coding blind, as you are.

At 730252b299f0cde0043bed7edb5bcf0c3e37fd38 blead builds but I still
have run/locale.t failing 4,5 and 7:

C:\Dev\Git\perl\t.\perl harness -v run/locale.t
run/locale.t ..
1..19
ok 1 - no locales where LC_NUMERIC breaks
ok 2 - LC_NUMERIC without environment nor setlocale() has no effect in any local
e
# using the 'Albanian' locale for LC_NUMERIC tests
ok 3 - format() does not look at LC_NUMERIC without 'use locale'
# Failed test 4 - format() looks at LC_NUMERIC with 'use locale' at
./test.pl line 982
#  got 4.2
# expected 4,2
# PROG:
# use locale;
# format STDOUT =
# @.#
# 4.179
# .
# write;
# STATUS: 0
not ok 4 - format() looks at LC_NUMERIC with 'use locale'
# Failed test 5 - format() looks at LC_NUMERIC with 'use locale
:not_characters' at ./test.pl line 982
#  got 4.2
# expected 4,2
# PROG:
# use locale :not_characters;
# format STDOUT =
# @.#
# 4.179
# .
# write;
# STATUS: 0
not ok 5 - format() looks at LC_NUMERIC with 'use locale :not_characters'
ok 6 - too late to look at the locale at write() time
# Failed test 7 - too late to ignore the locale at write() time at
./test.pl line 982
#  got 4.2
# expected 4,2
# PROG:
# use locale;
# format STDOUT =
# @.#
# 4.179
# .
# { no locale; write; }
# STATUS: 0
not ok 7 - too late to ignore the locale at write() time
ok 8 - version does not clobber version
ok 9 - version does not clobber version (via eval)
ok 10 - sprintf() and printf() look at LC_NUMERIC regardless of constant folding
ok 11 - Uses the above test to verify that on Windows the system
default locale has lower priority than LC_NUMERIC
ok 12 - LANG is used if LC_ALL, LC_NUMERIC are invalid
ok 13 # skip Win32 uses system default locale in preference to C
ok 14 - No compile error on v-strings when setting the locale to
non-dot radix at compile time when default environment has non-dot
radix
ok 15 - Radix print properly in locale scope, and without
ok 16 - Can do math when radix is a comma
ok 17 - POSIX::strtod() uses underlying locale
ok 18 - /il matching of [bracketed] doesn't skip POSIX class if fails
individ char
ok 19 - /l matching of [bracketed] doesn't skip 

Re: [perl.git] branch blead, updated. v5.19.8-534-g89f7b9a

2014-02-19 Thread Karl Williamson

On 02/19/2014 03:52 PM, Steve Hay wrote:

I understand. Sorry - I didn't mean to sound rude. I really appreciate
your efforts on this. It can't be easy coding blind, as you are.

At 730252b299f0cde0043bed7edb5bcf0c3e37fd38 blead builds but I still
have run/locale.t failing 4,5 and 7:


I didn't think you were being rude.

This is strange, by faking out the #ifdef's I was able to reproduce the 
problem on my machine, until I made those fixes.


Re: [perl.git] branch blead, updated. v5.19.8-534-g89f7b9a

2014-02-19 Thread Steve Hay
On 19 February 2014 23:04, Karl Williamson pub...@khwilliamson.com wrote:
 On 02/19/2014 03:52 PM, Steve Hay wrote:

 I understand. Sorry - I didn't mean to sound rude. I really appreciate
 your efforts on this. It can't be easy coding blind, as you are.

 At 730252b299f0cde0043bed7edb5bcf0c3e37fd38 blead builds but I still
 have run/locale.t failing 4,5 and 7:


 I didn't think you were being rude.

 This is strange, by faking out the #ifdef's I was able to reproduce the
 problem on my machine, until I made those fixes.

Ah... I now have run/locale.t passing after doing a clean and fresh
build. I only rebuilt my existing build before, trusting that the
Makefile would rebuild the necessary, but it seems not :-/ So this
could be a false alarm.

I've just set a full test suite running and will report back in
15-20min (whatever it takes) to confirm if all is well.


Re: [perl.git] branch blead, updated. v5.19.8-534-g89f7b9a

2014-02-19 Thread Steve Hay
On 19 February 2014 23:24, Steve Hay steve.m@googlemail.com wrote:
 On 19 February 2014 23:04, Karl Williamson pub...@khwilliamson.com wrote:
 On 02/19/2014 03:52 PM, Steve Hay wrote:

 I understand. Sorry - I didn't mean to sound rude. I really appreciate
 your efforts on this. It can't be easy coding blind, as you are.

 At 730252b299f0cde0043bed7edb5bcf0c3e37fd38 blead builds but I still
 have run/locale.t failing 4,5 and 7:


 I didn't think you were being rude.

 This is strange, by faking out the #ifdef's I was able to reproduce the
 problem on my machine, until I made those fixes.

 Ah... I now have run/locale.t passing after doing a clean and fresh
 build. I only rebuilt my existing build before, trusting that the
 Makefile would rebuild the necessary, but it seems not :-/ So this
 could be a false alarm.

 I've just set a full test suite running and will report back in
 15-20min (whatever it takes) to confirm if all is well.

Sorry - that was slower than I expected!

t/run/locale.t does indeed pass all tests now, but now I have
lib/locale.t failing 6 tests (otherwise everything else has passed):

C:\Dev\Git\perl\tperl harness -v ..\lib\locale.t
../lib/locale.t ..
[...]
ok 67 verify that isn't tainted:/(\N{CYRILLIC CAPITAL LETTER A})/i $
ok 68 verify that isn't tainted:$`
ok 69 verify that isn't tainted:$'
ok 70 verify that isn't tainted:$+
ok 71 verify that isn't tainted:$1
ok 72   $1 is 'small cyrillic a'
ok 73 verify that isn't tainted:$2
ok 74 verify that isn't tainted:/./ $
not ok 75 verify that is tainted:   /(\N{KELVIN SIGN})/i $
not ok 76 verify that is tainted:   $`
not ok 77 verify that is tainted:   $'
not ok 78 verify that is tainted:   $+
not ok 79 verify that is tainted:   $1
not ok 80   $1 is 'k'
ok 81 verify that isn't tainted:$2
ok 82 verify that isn't tainted:/(.)/ $
[...]
1..553
Failed 6/553 subtests

Test Summary Report
---
../lib/locale.t (Wstat: 0 Tests: 553 Failed: 6)
  Failed tests:  75-80
Files=1, Tests=553,  4 wallclock secs ( 0.01 usr +  0.00 sys =  0.01 CPU)
Result: FAIL


Re: [perl.git] branch blead, updated. v5.19.8-534-g89f7b9a

2014-02-19 Thread Karl Williamson

On 02/19/2014 05:07 PM, Steve Hay wrote:

Ah... I now have run/locale.t passing after doing a clean and fresh
build. I only rebuilt my existing build before, trusting that the
Makefile would rebuild the necessary, but it seems not :-/ So this
could be a false alarm.

I've just set a full test suite running and will report back in
15-20min (whatever it takes) to confirm if all is well.

Sorry - that was slower than I expected!

t/run/locale.t does indeed pass all tests now, but now I have
lib/locale.t failing 6 tests (otherwise everything else has passed):


A patch to remove those tests is about to be pushed.  (I forgot that 
they are only valid in a UTF-8 locale, and that isn't necessarily at the 
time.)


But it is really strange that things didn't work after the  fix.  You 
shouldn't have been able to run a perl until the syntax error in the .c 
was fixed and perl was compiled.


[perl.git] branch blead, updated. v5.19.8-538-gd3db5cf

2014-02-19 Thread Karl Williamson
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/d3db5cfeb8346f308b4354ee1c8970ab9b526472?hp=730252b299f0cde0043bed7edb5bcf0c3e37fd38

- Log -
commit d3db5cfeb8346f308b4354ee1c8970ab9b526472
Author: Karl Williamson pub...@khwilliamson.com
Date:   Wed Feb 19 17:11:33 2014 -0700

lib/locale.t: Remove tests that need UTF-8 locale

These tests should not be here because they will only match under a
UTF-8 locale, which happens to be the case on the machine I developed
them on, but not necessarily always true, and so they are failing.

Given the deadline is already past, I'm just removing them for now, and
will re-add them later in another place in the file where we know we
are using a UTF-8 locale.
---

Summary of changes:
 lib/locale.t | 9 -
 1 file changed, 9 deletions(-)

diff --git a/lib/locale.t b/lib/locale.t
index 4708b58..42dde69 100644
--- a/lib/locale.t
+++ b/lib/locale.t
@@ -215,15 +215,6 @@ check_taint_not  $2, \t\$2;
 /(.)/; # untaint $, $`, $', $+, $1.
 check_taint_not  $, \t/./ \$;
 
-k =~ /(\N{KELVIN SIGN})/i;   # taints because depends on locale
-check_taint  $, \t/(\\N{KELVIN SIGN})/i \$;
-check_taint  $`, \t\$`;
-check_taint  $', \t\$';
-check_taint  $+, \t\$+;
-check_taint  $1, \t\$1;
-ok($1 eq 'k', (\t x 4) . \$1 is 'k');
-check_taint_not  $2, \t\$2;
-
 /(.)/; # untaint $, $`, $', $+, $1.
 check_taint_not  $, \t/(.)/ \$;
 

--
Perl5 Master Repository


Re: [perl.git] branch blead, updated. v5.19.8-534-g89f7b9a

2014-02-19 Thread Father Chrysostomos
Karl Williamson wrote:
 I did test the function on my machine by faking out the #ifdef's.  But I
 was using g++, where 'and' is a synonym for .

Same precedence?  I'm curious.  Are they copying Perl syntax? :-)



Re: [perl.git] branch blead, updated. v5.19.8-534-g89f7b9a

2014-02-19 Thread Peter Martini
On Wed, Feb 19, 2014 at 8:55 PM, Father Chrysostomos spr...@cpan.org wrote:
 Karl Williamson wrote:
 I did test the function on my machine by faking out the #ifdef's.  But I
 was using g++, where 'and' is a synonym for .

 Same precedence?  I'm curious.  Are they copying Perl syntax? :-)


In the header file iso646.h (on my system at least), which gives ANSI
C those same C++ keywords:

#ifndef __cplusplus
#define and 
#define and_eq  =
#define bitand  
#define bitor   |
#define compl   ~
#define not !
#define not_eq  !=
#define or  ||
#define or_eq   |=
#define xor ^
#define xor_eq  ^=
#endif

And wikipedia 
(http://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B#C.2B.2B_operator_synonyms)
points out exactly how true that is even in C++ with this lovely
example: 'int bitand ref' is exactly equivalent to 'int ref'.

If only they had copied Perl syntax! :-)


Re: [perl.git] branch blead, updated. v5.19.8-534-g89f7b9a

2014-02-19 Thread Karl Williamson

On 02/19/2014 06:55 PM, Father Chrysostomos wrote:

Karl Williamson wrote:

I did test the function on my machine by faking out the #ifdef's.  But I
was using g++, where 'and' is a synonym for .


Same precedence?  I'm curious.  Are they copying Perl syntax? :-)



This was to allow C++ to use national 7 bit character sets; so many 
operators have equivalent letter-only names


[perl.git] branch blead, updated. v5.19.8-539-ged88548

2014-02-19 Thread Karl Williamson
In perl.git, the branch blead has been updated

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

- Log -
commit ed885487570a4a0046b0cb32a477526f8f016d93
Author: Karl Williamson pub...@khwilliamson.com
Date:   Wed Feb 19 21:14:44 2014 -0700

regcomp.c: Don't read uninitialized data

I keep forgetting that the OP of a regnode is not defined in Pass 1 of
the regex compiler.  This is likely the cause of inconsistent results in
lib/locale.t, as valgrind shows there to be a read of uninitialized
data before this patch, and the result is randomly tainting when there
shouldn't be, consistent with the test failures.
---

Summary of changes:
 embed.fnc |  2 +-
 proto.h   |  2 +-
 regcomp.c | 11 +--
 3 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/embed.fnc b/embed.fnc
index d0943e8..f747aae 100644
--- a/embed.fnc
+++ b/embed.fnc
@@ -2079,7 +2079,7 @@ EsRn  |char * |regpatws   |NN RExC_state_t 
*pRExC_state \
|NN char *p|const bool recognize_comment
 Ei |void   |alloc_maybe_populate_EXACT|NN RExC_state_t *pRExC_state \
|NN regnode *node|NN I32 *flagp|STRLEN len \
-   |UV code_point|const bool downgradable
+   |UV code_point|bool downgradable
 Ei |U8   |compute_EXACTish|NN RExC_state_t *pRExC_state
 Es |char * |nextchar   |NN RExC_state_t *pRExC_state
 Es |bool   |reg_skipcomment|NN RExC_state_t *pRExC_state
diff --git a/proto.h b/proto.h
index 4832535..e032ad6 100644
--- a/proto.h
+++ b/proto.h
@@ -6607,7 +6607,7 @@ STATIC U32S_add_data(RExC_state_t* const 
pRExC_state, const char* const s, cons
 #define PERL_ARGS_ASSERT_ADD_DATA  \
assert(pRExC_state); assert(s)
 
-PERL_STATIC_INLINE voidS_alloc_maybe_populate_EXACT(pTHX_ RExC_state_t 
*pRExC_state, regnode *node, I32 *flagp, STRLEN len, UV code_point, const bool 
downgradable)
+PERL_STATIC_INLINE voidS_alloc_maybe_populate_EXACT(pTHX_ RExC_state_t 
*pRExC_state, regnode *node, I32 *flagp, STRLEN len, UV code_point, bool 
downgradable)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
diff --git a/regcomp.c b/regcomp.c
index b3a4845..efd0a47 100644
--- a/regcomp.c
+++ b/regcomp.c
@@ -10882,7 +10882,7 @@ S_compute_EXACTish(pTHX_ RExC_state_t *pRExC_state)
 PERL_STATIC_INLINE void
 S_alloc_maybe_populate_EXACT(pTHX_ RExC_state_t *pRExC_state,
  regnode *node, I32* flagp, STRLEN len, UV code_point,
- const bool downgradable)
+ bool downgradable)
 {
 /* This knows the details about sizing an EXACTish node, setting flags for
  * it (by setting *flagp, and potentially populating it with a single
@@ -10916,6 +10916,12 @@ S_alloc_maybe_populate_EXACT(pTHX_ RExC_state_t 
*pRExC_state,
 
 PERL_ARGS_ASSERT_ALLOC_MAYBE_POPULATE_EXACT;
 
+/* Don't bother to check for downgrading in PASS1, as it doesn't make any
+ * sizing difference, and is extra work that is thrown away */
+if (downgradable  ! PASS2) {
+downgradable = FALSE;
+}
+
 if (! len_passed_in) {
 if (UTF) {
 if (UNI_IS_INVARIANT(code_point)) {
@@ -11020,7 +11026,8 @@ S_alloc_maybe_populate_EXACT(pTHX_ RExC_state_t 
*pRExC_state,
 *flagp |= SIMPLE;
 }
 
-if (OP(node) == EXACTFL) {
+/* The OP may not be well defined in PASS1 */
+if (PASS2  OP(node) == EXACTFL) {
 RExC_contains_locale = 1;
 }
 }

--
Perl5 Master Repository


[perl.git] annotated tag v5.19.9, created. v5.19.9

2014-02-19 Thread Tony Cook
In perl.git, the annotated tag v5.19.9 has been created

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

at  a442269eb868685fd087fea6b74e01482d2e06f9 (tag)
   tagging  bcbcbdda9f0fca0bc4a9c9c2263f499fbe2386a3 (commit)
  replaces  v5.19.8
 tagged by  Tony Cook
on  Thu Feb 20 14:28:35 2014 +1100

- Log -
Tenth release of the v5.19 series!

Abigail (1):
  Make it clear what it means if there's no distinction between -M and -m.

Alan Haggai Alavi (1):
  Replace 'mkpath' (legacy interface) with 'make_path'.

Brad Gilbert (4):
  Improve error diagnostics in t/test_pl/tempfile.t
  Test that tempfile() in t/test.pl skips files that already exist
  Add register_tempfile() to t/test.pl
  Make sure that tempfile() in t/test.pl removes the temp files

Brian Fraser (120):
  sv.c, Perl_dirp_dup: Skip the fchdir sections if telldir and seekdir are 
not defined
  perlio.c, PerlIO_tmpfile: Fall back to cwd if we have no /tmp or $TMPDIR
  PerlIO_tmpfile: Don't leak an SV
  Makefile.SH: Updated the lib/buildcustomize.pl rule for cross-compilation 
builds
  Configure: Pass the -r flag to scp when cross-compiling
  Configure: Teach run-ssh to handle -env
  Makefile.SH: on make test_prep, add $target/lib:$target/lib/auto to -env 
LD_LIBRARY_PATH=...
  Makefile.SH: Remove remnants of the old cross-compilation model
  make_ext.pl: Phase out the use of Cross.pm
  Remove old cross-compilation model
  configpm: Remove remnants of the old cross model
  Update the WinCE files to the new cross model
  Configure, run-ssh: No need to use ./\$exe
  Configure: Silence $to warnings when cross-compiling
  Configure: When cross-compiling, save the $^O of the host
  Configure: Minor improvements to the building on the host miniperl
  Configure, Makefile.SH: Allow running generate_uudmap in the target
  perldelta for the new cross-compilation model
  Glossary entries for host{perl,generate,osname}
  t/lib/warnings/pp_sys: Add skips in case telldir is not available
  lib/ExtUtils/t/Embed.t: Skip tests is cross-compiling and $Config{cc} is 
not available
  dist/ExtUtils-Install: Skip tests if make is not available
  Moved a glob test from t/run/fresh_perl.t to t/op/glob.t
  ext/DynaLoader/t/DynaLoader.t: Skip the dl_findfile test when 
cross-compiling
  Add Darwin shared libraries (dylib) to gitignore
  t/op/magic.t: Use three-arg open to avooid creating a subshell
  Merge branch 'cross-compile-revamp' into blead
  time64.h: Declare tm_zone as const under Android, but not if using C++
  time64.h: On QNX, use const for tm_zone
  handy.h: Move the _LC_CAST declaration.
  Configure: add missing ; to checkccflags
  Added targetsh to all the canned config files
  Glossary entry for targetsh
  regen for uconfig.h
  perldelta for -Dtargetsh
  File::Spec::Unix-tmpdir: Always return an absolute path
  t/porting/: Skips for cross-compilation
  Makefile.SH, make test: Copy config.sh when cross-compiling
  Linux hints: try using user-provided binaries before going for the 
defaults
  Linux hints: Handle `uname -m` in cross-compilation builds
  Linux hints: add some missing $ccflags
  Linux hints: Improve the portability of the -lndbm check
  Linux hints: Improve the code that looks for libc.so
  Android hints: Detect stub functions and mark them as undefined.
  android hints: Always define d_libname_unique
  hints/linux-androideabi.sh: getservent_r() is a partial stub, mark it as 
undefined to avoid issues with threads
  hints/linux-androideabi.sh: Rather than relaying on adb, save the exit 
status in a file and then copy it over
  hints/linux-androideabi.sh: sed might not understand \r, use $tr instead
  hints/linux-androideabi.sh: adb takes care of creating the target dir on 
the target
  hints/linux-androideabi.sh: use $cat instead of plain cat
  hints/linux-androideabi.sh: use $chmod instead of plain chmod
  hints/linux-androideabi.sh: If the host OS is darwin, set firstmakefile 
to GNUmakefile
  Android hints: Only set userelocatableinc if it doesn't have a value
  Android hints: Only use adb if $targetrun is set to adb
  Make compiling with adb work again
  Android hints: Set osvers to getprop ro.build.version.release
  Android hints: Add m to libswanted
  Android hints: When Configure finishes, turn $^O into 'android'
  Configure, Android hints: Changes to allow native builds
  Android hints: In native builds, add -L/system/lib to ldflags
  Android hints: Clean up some files if cross-compiling with adb
  Android hints: load the linux hints to get those defaults
  Android hints: Set d_csh to undef in cross builds
  

[perl.git] branch blead, updated. v5.19.8-544-g859fe9a

2014-02-19 Thread Tony Cook
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/859fe9a7a68654eb04a65d188e190c8bd1af63e6?hp=ed885487570a4a0046b0cb32a477526f8f016d93

- Log -
commit 859fe9a7a68654eb04a65d188e190c8bd1af63e6
Merge: ed88548 bcbcbdd
Author: Tony Cook t...@develop-help.com
Date:   Thu Feb 20 15:40:24 2014 +1100

merge 5.19.9 release branch

commit bcbcbdda9f0fca0bc4a9c9c2263f499fbe2386a3
Author: Tony Cook t...@develop-help.com
Date:   Thu Feb 20 14:24:53 2014 +1100

note lib/locale.t rare failure

M   pod/perldelta.pod

commit a2dac67a5b23b140157b94656c15e8e792976f0e
Author: Tony Cook t...@develop-help.com
Date:   Thu Feb 20 13:50:08 2014 +1100

update perlhist for 5.19.9

M   pod/perlhist.pod

commit 877768623c47c36cc43d0f2b7bad561e7a6834f1
Author: Tony Cook t...@develop-help.com
Date:   Thu Feb 20 13:44:11 2014 +1100

finalize perldelta for 5.19.9

M   pod/perldelta.pod

commit 5a39b45b1e919a509bf288f1e586982a22b133c1
Author: Tony Cook t...@develop-help.com
Date:   Thu Feb 20 11:22:22 2014 +1100

Update Module::CoreList for 5.19.9

M   dist/Module-CoreList/Changes
M   dist/Module-CoreList/lib/Module/CoreList.pm
M   dist/Module-CoreList/lib/Module/CoreList/TieHashDelta.pm
M   dist/Module-CoreList/lib/Module/CoreList/Utils.pm
---

Summary of changes:
 dist/Module-CoreList/Changes   |   5 +
 dist/Module-CoreList/lib/Module/CoreList.pm| 208 +-
 .../lib/Module/CoreList/TieHashDelta.pm|   2 +-
 dist/Module-CoreList/lib/Module/CoreList/Utils.pm  |   2 +-
 pod/perldelta.pod  | 316 ++---
 pod/perlhist.pod   |   1 +
 6 files changed, 297 insertions(+), 237 deletions(-)

diff --git a/dist/Module-CoreList/Changes b/dist/Module-CoreList/Changes
index 4454ac4..31fa9ca 100644
--- a/dist/Module-CoreList/Changes
+++ b/dist/Module-CoreList/Changes
@@ -1,3 +1,8 @@
+3.06
+ - updated for 5.19.9
+ - fix Module::CoreList::is_core default perl version
+ - fix Module::CoreList::is_core version comparision
+
 3.05
   - Prepared for v5.19.9
 
diff --git a/dist/Module-CoreList/lib/Module/CoreList.pm 
b/dist/Module-CoreList/lib/Module/CoreList.pm
index fb5e19a..e986865 100644
--- a/dist/Module-CoreList/lib/Module/CoreList.pm
+++ b/dist/Module-CoreList/lib/Module/CoreList.pm
@@ -245,7 +245,7 @@ sub changes_between {
 5.019007 = '2013-12-20',
 5.018002 = '2014-01-06',
 5.019008 = '2014-01-20',
-5.019009 = '-??-??',
+5.019009 = '2014-02-20',
   );
 
 for my $version ( sort { $a = $b } keys %released ) {
@@ -9385,10 +9385,190 @@ for my $version ( sort { $a = $b } keys %released ) {
 5.019009 = {
 delta_from = 5.019008,
 changed = {
+'B' = '1.48',
+'B::Concise'= '0.992',
+'B::Deparse'= '1.25',
+'CGI'   = '3.65',
+'CPAN::Meta::YAML'  = '0.011',
+'Compress::Raw::Bzip2'  = '2.064',
+'Compress::Raw::Zlib'   = '2.065',
+'Compress::Zlib'= '2.064',
 'Config'= '5.019009',
-'Module::CoreList'  = '3.05',
-'Module::CoreList::TieHashDelta'= '3.05',
-'Module::CoreList::Utils'= '3.05',
+'Config::Perl::V'   = '0.20',
+'Cwd'   = '3.47',
+'Devel::Peek'   = '1.16',
+'Digest::SHA'   = '5.87',
+'DynaLoader'= '1.25',
+'English'   = '1.09',
+'ExtUtils::CBuilder'= '0.280216',
+'ExtUtils::CBuilder::Base'= '0.280216',
+'ExtUtils::CBuilder::Platform::Unix'= '0.280216',
+'ExtUtils::CBuilder::Platform::VMS'= '0.280216',
+'ExtUtils::CBuilder::Platform::Windows'= '0.280216',
+'ExtUtils::CBuilder::Platform::Windows::BCC'= '0.280216',
+'ExtUtils::CBuilder::Platform::Windows::GCC'= '0.280216',
+'ExtUtils::CBuilder::Platform::Windows::MSVC'= '0.280216',
+'ExtUtils::CBuilder::Platform::aix'= '0.280216',
+'ExtUtils::CBuilder::Platform::android'= '0.280216',
+'ExtUtils::CBuilder::Platform::cygwin'= '0.280216',
+'ExtUtils::CBuilder::Platform::darwin'= '0.280216',
+'ExtUtils::CBuilder::Platform::dec_osf'= '0.280216',
+'ExtUtils::CBuilder::Platform::os2'= '0.280216',
+'ExtUtils::Command::MM' = '6.88',
+'ExtUtils::Embed'   = '1.32',
+'ExtUtils::Install' = '1.62',
+'ExtUtils::Installed'   = '1.999004',
+'ExtUtils::Liblist' = '6.88',
+'ExtUtils::Liblist::Kid'= '6.88',
+

[perl.git] branch blead, updated. v5.19.9-3-g132664a

2014-02-19 Thread Tony Cook
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/132664ae0f8c62fca1abe68d121df1502233bcdb?hp=859fe9a7a68654eb04a65d188e190c8bd1af63e6

- Log -
commit 132664ae0f8c62fca1abe68d121df1502233bcdb
Author: Tony Cook t...@develop-help.com
Date:   Thu Feb 20 15:56:00 2014 +1100

record the 5.19.9 epigraph
---

Summary of changes:
 Porting/epigraphs.pod | 27 +++
 1 file changed, 27 insertions(+)

diff --git a/Porting/epigraphs.pod b/Porting/epigraphs.pod
index 49b1ff7..37957b8 100644
--- a/Porting/epigraphs.pod
+++ b/Porting/epigraphs.pod
@@ -17,6 +17,33 @@ Consult your favorite dictionary for details.
 
 =head1 EPIGRAPHS
 
+=head2 v5.19.9 - R. A. MacAvoy, Tea with the Black Dragon
+
+LAnnounced on 2014-02-20 by Tony 
Cook|http://www.nntp.perl.org/group/perl.perl5.porters/2014/02/msg213047.html
+
+Old hands.  The smell of rain--the smell of Ch'an.  Quiet words in
+rough Cantonese.  I am not to be your master.  Your master has to be
+stronger than you are--has to tell you you are a fool and make you
+know it.  And make you feel content in being a fool.  How could I do
+that for you?  I'm old.  You are too strong for me; you are full of
+chi.  The old man has paused then, huddled against the wind while
+clouds thickened above them.
+
+I will tell you this, Long, he continued, Before you find yourself
+you will lose your chi.  Also you will leave behind you all pride of
+body, pride of mind.  You will be reduced.  Like me.  The old man
+closed his eyes, and rain began to beat against his gray, crew-cut
+hair.  He pulled his coat closer.  Suddenly his eyes snapped open and
+he looked Long in the face.
+
+You must leave China.  Go across the ocean.  There you will meet your
+master.  He set down his teacup with a palsied hand.  His voice rose,
+grew fierce.
+
+I tell you this, most honored and impressive visitor.  You are a
+fool, yes, but you will find the very thing you seek.  You will find
+truth!
+
 =head2 v5.19.8 - Joseph Heller, Catch-22
 
 LAnnounced on 2014-01-20 by Ricardo 
Signes|http://www.nntp.perl.org/group/perl.perl5.porters/2014/01/msg211729.html

--
Perl5 Master Repository