diff options
author | Brian Fraser <fraserbn@gmail.com> | 2011-08-06 10:50:34 +0100 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2012-03-22 20:23:55 -0700 |
commit | 58576270560ee142457377108b60beef6009e7cc (patch) | |
tree | 43d9b8f36fcf253c123d3a2f44afbf59f75a4158 | |
parent | 4bca4ee0177ebddff4006e8fdc3f36628349ae11 (diff) | |
download | perl-58576270560ee142457377108b60beef6009e7cc.tar.gz |
toke.c: '"(my|state)" variable %s can't be in a package' cleanup.
-rw-r--r-- | t/uni/parser.t | 11 | ||||
-rw-r--r-- | toke.c | 5 |
2 files changed, 13 insertions, 3 deletions
diff --git a/t/uni/parser.t b/t/uni/parser.t index 6530b66cc3..e67871e944 100644 --- a/t/uni/parser.t +++ b/t/uni/parser.t @@ -7,7 +7,7 @@ BEGIN { require './test.pl'; } -plan (tests => 42); +plan (tests => 44); use utf8; use open qw( :utf8 :std ); @@ -123,3 +123,12 @@ is ${"main::\345\225\217"}, undef, "..and using the encoded form doesn't"; eval "our \$main::\x{30cb};"; like $@, qr!No package name allowed for variable \$main::\x{30cb} in "our"!, "'No such package name allowed for variable' is UTF-8 clean"; } + +{ + use feature 'state'; + local $@; + for ( qw( my state ) ) { + eval "$_ \$::\x{30cb};"; + like $@, qr!"$_" variable \$::\x{30cb} can't be in a package!, qq!'"$_" variable %s can't be in a package' is UTF-8 clean!; + } +} @@ -8479,8 +8479,9 @@ S_pending_ident(pTHX) } else { if (has_colon) - yyerror(Perl_form(aTHX_ PL_no_myglob, - PL_in_my == KEY_my ? "my" : "state", PL_tokenbuf)); + yyerror_pv(Perl_form(aTHX_ PL_no_myglob, + PL_in_my == KEY_my ? "my" : "state", PL_tokenbuf), + UTF ? SVf_UTF8 : 0); pl_yylval.opval = newOP(OP_PADANY, 0); pl_yylval.opval->op_targ = allocmy(PL_tokenbuf, tokenbuf_len, |