sv.c: Pass in UNI_DISPLAY_ISPRINT in S_not_a_number
authorBrian Fraser <fraserbn@gmail.com>
Wed, 6 Jul 2011 17:44:11 +0000 (14:44 -0300)
committerFather Chrysostomos <sprout@cpan.org>
Thu, 6 Oct 2011 20:01:13 +0000 (13:01 -0700)
sv.c
t/uni/gv.t

diff --git a/sv.c b/sv.c
index e542788..e8df04f 100644 (file)
--- a/sv.c
+++ b/sv.c
@@ -1719,7 +1719,7 @@ S_not_a_number(pTHX_ SV *const sv)
 
      if (DO_UTF8(sv)) {
           dsv = newSVpvs_flags("", SVs_TEMP);
-          pv = sv_uni_display(dsv, sv, 10, 0);
+          pv = sv_uni_display(dsv, sv, 10, UNI_DISPLAY_ISPRINT);
      } else {
          char *d = tmpbuf;
          const char * const limit = tmpbuf + sizeof(tmpbuf) - 8;
index 5c6df13..f03b7d6 100644 (file)
@@ -110,8 +110,7 @@ is ($ᕘ, undef);
 is (scalar @ᕘ, 0);
 is (scalar %ᕘ, 0);
 
-TODO: {
-    local $TODO = "sprintf formats might not be clean on globs";
+{
     # test warnings from assignment of undef to glob
     my $msg = '';
     local $SIG{__WARN__} = sub { $msg = $_[0] };
@@ -127,19 +126,19 @@ TODO: {
     foreach ($copy, *SKRÈÈÈ) {
        $msg = '';
        my $victim = sprintf "%d", $_;
-       like($msg, qr/Argument "\*main::[\p{XIDS}\p{XIDC}]{6}" isn't numeric in sprintf/,
+       like($msg, qr/Argument "\*main::(\p{ASCII}|\Q\x{\E\p{ASCII_Hex_Digit}{2}\}){3}\Q...\E" isn't numeric in sprintf/,
             "Warning on conversion to IV");
        is($victim, 0);
 
        $msg = '';
        $victim = sprintf "%u", $_;
-       like($msg, qr/Argument "\*main::[\p{XIDS}\p{XIDC}]{6}" isn't numeric in sprintf/,
+       like($msg, qr/Argument "\*main::(\p{ASCII}|\Q\x{\E\p{ASCII_Hex_Digit}{2}\}){3}\Q...\E" isn't numeric in sprintf/,
             "Warning on conversion to UV");
        is($victim, 0);
 
        $msg = '';
        $victim = sprintf "%e", $_;
-       like($msg, qr/Argument "\*main::[\p{XIDS}\p{XIDC}]{6}" isn't numeric in sprintf/,
+       like($msg, qr/Argument "\*main::(\p{ASCII}|\Q\x{\E\p{ASCII_Hex_Digit}{2}\}){3}\Q...\E" isn't numeric in sprintf/,
             "Warning on conversion to NV");
        like($victim, qr/^0\.0+E\+?00/i, "Expect floating point zero");
 
@@ -545,7 +544,6 @@ format =
        }
     }
     {
-        local $TODO = "Warnings not yet clean";
         eval {ᔅᓗsḨ->맆;};
         like ($@, qr/^Can't locate object method "맆"/, "Even with SUPER");
     }