On Mon, Dec 20, 2004 at 04:50:57PM -0800, Ovid wrote:
And looking at line 1005:
sub _print_diag {
my $self = shift;
local($\, $", $,) = (undef, ' ', '');
my $fh = $self->todo ? $self->todo_output : $self->failure_output;
print $fh @_; # here there be smart quotes
}
There are a few strange paths in the code which could be causing this
(I'm wondering about the autoflush), but I was wondering if anyone has
seen this and knows how to cope with it? As you can see, I've tried
that standard binmode ':utf8' and using utf8, but to no avail.
For one, diag() goes to STDERR. But binmode'ing that doesn't work either.
It must not survive the filehandle dup Test::Builder does.
This shuts it up.
use Test::Builder;
BEGIN {my $fh = Test::Builder->new->failure_output; binmode $fh, ':utf8';}
Test::Builder should do something like this internally, its not like anyone's
going to drive binary data through a TB filehandle. The question is
how does one do it without breaking older perls?