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?

-- 
Michael G Schwern     [EMAIL PROTECTED]     http://www.pobox.com/~schwern/
Once is a prank.  Twice is a nuisance.  But NINE TIMES is a TRADITION.
        -- Mark-Jason Dominus in <[EMAIL PROTECTED]>

Reply via email to