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 non-first POSIX class Failed 3/19 subtests (less 1 skipped subtest: 15 okay) Test Summary Report ------------------- run/locale.t (Wstat: 0 Tests: 19 Failed: 3) Failed tests: 4-5, 7 Files=1, Tests=19, 3 wallclock secs ( 0.01 usr + 0.00 sys = 0.01 CPU) Result: FAIL