From: Jarkko Hietaniemi Date: Sun, 16 Mar 2003 17:41:42 +0000 (+0000) Subject: Turn on UTF-8 flag only if the $str is valid utf8 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=11412ee612ee855f6157e78034024e8f5e3ba052;p=p5sagit%2Fp5-mst-13.2.git Turn on UTF-8 flag only if the $str is valid utf8 (pointed out by Dan Kogai). p4raw-id: //depot/perl@18996 --- diff --git a/lib/Term/ReadLine.pm b/lib/Term/ReadLine.pm index a4de5fc..8cb6ab3 100644 --- a/lib/Term/ReadLine.pm +++ b/lib/Term/ReadLine.pm @@ -199,7 +199,8 @@ sub readline { $str = $self->get_line; $str =~ s/^\s*\Q$prompt\E// if ($^O eq 'MacOS'); utf8::upgrade($str) - if ${^UNICODE} & PERL_UNICODE_STDIN || defined ${^ENCODING}; + if (${^UNICODE} & PERL_UNICODE_STDIN || defined ${^ENCODING}) && + utf8::valid($str); print $out $rl_term_set[3]; # bug in 5.000: chomping empty string creats length -1: chomp $str if defined $str; @@ -289,7 +290,7 @@ sub Features { \%features } package Term::ReadLine; # So late to allow the above code be defined? -our $VERSION = '1.00'; +our $VERSION = '1.01'; my ($which) = exists $ENV{PERL_RL} ? split /\s+/, $ENV{PERL_RL} : undef; if ($which) {