From 35b57146d93a1890ea147672fe75f810adc5e08d Mon Sep 17 00:00:00 2001 From: Mikko Johannes Koivunalho Date: Sat, 24 May 2025 22:38:51 +0200 Subject: [PATCH] Bug fix: Always output UTF-8 characters I got error: Wide character in print at [..]/lib/site_perl/5.20.2/Pinto/Chrome/Term.pm line 97. --- lib/Pinto/Chrome/Net.pm | 6 ++++-- lib/Pinto/Chrome/Term.pm | 9 +++++---- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/Pinto/Chrome/Net.pm b/lib/Pinto/Chrome/Net.pm index 1546af89..c1d44f4b 100644 --- a/lib/Pinto/Chrome/Net.pm +++ b/lib/Pinto/Chrome/Net.pm @@ -6,6 +6,8 @@ use Moose; use MooseX::StrictConstructor; use MooseX::MarkAsMethods ( autoclean => 1 ); +use Encode qw( encode_utf8 ); + use Pinto::Types qw(Io); use Pinto::Util qw(itis); use Pinto::Constants qw(:protocol); @@ -58,7 +60,7 @@ sub diag { # messages that go to stderr and those that should go to stdout $msg =~ s/^/$PINTO_PROTOCOL_DIAG_PREFIX/gmx; - print { $self->stderr } $msg or croak $!; + print { $self->stderr } encode_utf8( $msg ) or croak $!; } #----------------------------------------------------------------------------- @@ -70,7 +72,7 @@ sub show_progress { $self->stderr->autoflush; # Make sure pipes are hot - print { $self->stderr } $PINTO_PROTOCOL_PROGRESS_MESSAGE . "\n" or croak $!; + print { $self->stderr } encode_utf8( $PINTO_PROTOCOL_PROGRESS_MESSAGE . "\n" ) or croak $!; } #----------------------------------------------------------------------------- diff --git a/lib/Pinto/Chrome/Term.pm b/lib/Pinto/Chrome/Term.pm index 1cb7704d..07a7f474 100644 --- a/lib/Pinto/Chrome/Term.pm +++ b/lib/Pinto/Chrome/Term.pm @@ -9,6 +9,7 @@ use MooseX::MarkAsMethods ( autoclean => 1 ); use Term::ANSIColor; use File::Which qw(which); +use Encode qw( encode_utf8 ); use Pinto::Editor; use Pinto::Types qw(Io ANSIColorPalette); @@ -94,7 +95,7 @@ sub show { $msg .= "\n" unless $opts->{no_newline}; - print { $self->stdout } $msg or croak $!; + print { $self->stdout } encode_utf8( $msg ) or croak $!; return $self; } @@ -120,7 +121,7 @@ sub diag { $msg = $self->colorize( $msg, $opts->{color} ); $msg .= "\n" unless $opts->{no_newline}; - print { $self->stderr } $msg or croak $!; + print { $self->stderr } encode_utf8( $msg ) or croak $!; } #----------------------------------------------------------------------------- @@ -132,7 +133,7 @@ sub show_progress { $self->stderr->autoflush; # Make sure pipes are hot - print { $self->stderr } '.' or croak $!; + print { $self->stderr } encode_utf8( '.' ) or croak $!; $self->has_made_progress(1); } @@ -145,7 +146,7 @@ sub progress_done { return unless $self->has_made_progress; return unless $self->should_render_progress; - print { $self->stderr } "\n" or croak $!; + print { $self->stderr } encode_utf8( "\n" ) or croak $!; } #-----------------------------------------------------------------------------