diff options
author | Nick Ing-Simmons <nik@tiuk.ti.com> | 2001-04-04 18:56:15 +0000 |
---|---|---|
committer | Nick Ing-Simmons <nik@tiuk.ti.com> | 2001-04-04 18:56:15 +0000 |
commit | ae79846703a543a04b4fe449abfd6b1e08a9e149 (patch) | |
tree | 59573ff06500f775bc65ae7de289abbf3153dfbd | |
parent | 4a1add9022ee415d25c2a738be3ef391af77dfef (diff) | |
download | perl-ae79846703a543a04b4fe449abfd6b1e08a9e149.tar.gz |
Downgrade "Wide character in print" to a warning.
p4raw-id: //depot/perlio@9549
-rw-r--r-- | doio.c | 7 | ||||
-rwxr-xr-x | t/io/utf8.t | 5 |
2 files changed, 8 insertions, 4 deletions
@@ -1204,8 +1204,11 @@ Perl_do_print(pTHX_ register SV *sv, PerlIO *fp) if (!SvUTF8(sv)) sv_utf8_upgrade(sv = sv_mortalcopy(sv)); } - else if (DO_UTF8(sv)) - sv_utf8_downgrade((sv = sv_mortalcopy(sv)), FALSE); + else if (DO_UTF8(sv)) { + if (!sv_utf8_downgrade((sv = sv_mortalcopy(sv)), TRUE)) { + Perl_warner(aTHX_ WARN_UTF8, "Wide character in print"); + } + } tmps = SvPV(sv, len); break; } diff --git a/t/io/utf8.t b/t/io/utf8.t index 52b641d2f1..ac5cde7a6e 100755 --- a/t/io/utf8.t +++ b/t/io/utf8.t @@ -135,8 +135,9 @@ print "ok 21\n"; # Now let's make it suffer. open F, ">", "a" or die $!; -eval { print F $a; }; -print "not " unless $@ and $@ =~ /Wide character in print/i; +my $w; +eval {local $SIG{__WARN__} = sub { $w = $_[0] }; print F $a; }; +print "not " if ($@ || $w !~ /Wide character in print/i); print "ok 22\n"; } |