[perl.git] branch blead, updated. v5.19.8-511-gb79bb83
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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