Fix "Wide character in warn" warning
authorFather Chrysostomos <sprout@cpan.org>
Thu, 16 Sep 2010 12:09:17 +0000 (14:09 +0200)
committerRafael Garcia-Suarez <rgs@consttype.org>
Thu, 16 Sep 2010 12:09:17 +0000 (14:09 +0200)
doio.c
t/op/warn.t

diff --git a/doio.c b/doio.c
index 5f57b38..2f660cc 100644 (file)
--- a/doio.c
+++ b/doio.c
@@ -1241,7 +1241,7 @@ Perl_do_print(pTHX_ register SV *sv, PerlIO *fp)
            else {
                assert((char *)result == tmps);
                Perl_ck_warner_d(aTHX_ packWARN(WARN_UTF8),
-                                "Wide character in print");
+                                "Wide character in %s", OP_DESC(PL_op));
            }
        }
        /* To detect whether the process is about to overstep its
index 5f4e04e..b47bd90 100644 (file)
@@ -7,7 +7,7 @@ BEGIN {
     require './test.pl';
 }
 
-plan 20;
+plan 21;
 
 my @warnings;
 my $wa = []; my $ea = [];
@@ -131,4 +131,11 @@ fresh_perl_like(
  'warn respects :utf8 layer'
 );
 
+fresh_perl_like(
+ 'warn chr 300',
+  qr/^Wide character in warn .*\n\xc4\xac at /,
+  {},
+ 'Wide character in warn (not print)'
+);
+
 1;