develooper Front page | perl.perl5.porters | Postings from May 2015

Re: [perl #123998] blead's EUMM always fails tests on Win32 Perl onWin64

Thread Previous | Thread Next
From:
Dave Mitchell
Date:
May 6, 2015 13:24
Subject:
Re: [perl #123998] blead's EUMM always fails tests on Win32 Perl onWin64
Message ID:
20150506132422.GU4035@iabyn.com
On Mon, Apr 27, 2015 at 04:39:43PM -0700, bulk88 via RT wrote:
> On Mon Apr 27 15:30:45 2015, rjbs wrote:
> > Karen points out https://github.com/Perl-Toolchain-Gang/ExtUtils-
> > MakeMaker/issues/193 which indicates that cda0edd in that repo should
> > be a fix.  Hopefully this means we have a way forward:  we apply that
> > locally, or we get an EUMM release cut with that fix (and as little as
> > possible else.)
> 
> commit
> https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/commit/cda0edd5067a2348f183d9100cc5b0fa92336937
> became p5p patch
> https://rt.perl.org/Ticket/Attachment/1339705/716378/0001-perl-123998-backport-cda0edd5-from-EU-MM-upstream.patch
> but that p5p patch is from a EUMM patch that stopped EUMM's tests from
> failing, it did not fix the underlying bug of that failure message from
> win32 shell being printed to STDERR every time you "require
> ExtUtils::MakeMaker;". That underlying bug means p5p test
> t/porting/utils.t fails.
[snip]
> Here is some manual bisecting I did to narrow the problem.
[snip]
> Summary, last stable (I guess, if EUMM stables are even, odds are alpha)
> before the bug was 6.98. Last shipped release before the bug was
> 6.99_12. The commit directly after commit "Release engineering for
> v6.99_12" created the bug, name of the bug introducing commit is "Moved
> bundled Encode::Locale to EUMM::Locale instead". The bug lasts until
> commit "Update bundled Encode::Locale to CPAN 1.04", first shipped
> release with the fix is 7.05_08.

If I am reading the code correctly, the "fix" in 7.05_08 is that
code page determination using chcp is deferred until until it is needed
rather than unconditionally doing at startup time; so

    perl -MExtUtils::MakeMaker -e "0"

no longer pollutes STDERR, but something that needs to know the code page
still will.

Anyway, as a quick fix for 5.22, could we simply stop MakeMaker polluting
STDERR; e.g. in Locale.pm change

    qx(chcp)

to
    qx("chcp 2<&1")

or whatever similar win32-specific thing works?


-- 
That he said that that that that is is is debatable, is debatable.

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About