diff options
author | Brian Fraser <fraserbn@gmail.com> | 2011-08-20 08:33:57 +0100 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2012-03-25 13:43:58 -0700 |
commit | 86fe3f368e07f69cb20296f510fcb1d5ce6b3777 (patch) | |
tree | 58e29aba02239b6becad3bdc58212ec2423a04ba | |
parent | 78c28381895e365e220a83fe0515986e1d6c6ea1 (diff) | |
download | perl-86fe3f368e07f69cb20296f510fcb1d5ce6b3777.tar.gz |
toke.c: "Bad name after %s%s" cleanup.
-rw-r--r-- | t/uni/parser.t | 8 | ||||
-rw-r--r-- | toke.c | 4 |
2 files changed, 10 insertions, 2 deletions
diff --git a/t/uni/parser.t b/t/uni/parser.t index 256864cb80..63c2deba68 100644 --- a/t/uni/parser.t +++ b/t/uni/parser.t @@ -7,7 +7,7 @@ BEGIN { require './test.pl'; } -plan (tests => 45); +plan (tests => 47); use utf8; use open qw( :utf8 :std ); @@ -138,3 +138,9 @@ is ${"main::\345\225\217"}, undef, "..and using the encoded form doesn't"; eval qq!print \x{30cb}, "comma""!; like $@, qr/No comma allowed after filehandle/, "No comma allowed after filehandle triggers correctly for UTF-8 filehandles."; } + +# tests for "Bad name" +eval q{ Foo::$bar }; +like( $@, qr/Bad name after Foo::/, 'Bad name after Foo::' ); +eval q{ Foo''bar }; +like( $@, qr/Bad name after Foo'/, 'Bad name after Foo\'' ); @@ -6659,7 +6659,9 @@ Perl_yylex(pTHX) s = scan_word(s, PL_tokenbuf + len, sizeof PL_tokenbuf - len, TRUE, &morelen); if (!morelen) - Perl_croak(aTHX_ "Bad name after %s%s", PL_tokenbuf, + Perl_croak(aTHX_ "Bad name after %"SVf"%s", + SVfARG(newSVpvn_flags(PL_tokenbuf, len, + (UTF ? SVf_UTF8 : 0) | SVs_TEMP )), *s == '\'' ? "'" : "::"); len += morelen; pkgname = 1; |