diff options
-rw-r--r-- | mad/t/p55.t | 4 | ||||
-rw-r--r-- | op.c | 3 | ||||
-rw-r--r-- | toke.c | 15 |
3 files changed, 6 insertions, 16 deletions
diff --git a/mad/t/p55.t b/mad/t/p55.t index 9407f34b02..de18a87f71 100644 --- a/mad/t/p55.t +++ b/mad/t/p55.t @@ -64,8 +64,6 @@ use Test::Differences; our %failing = map { $_, 1 } qw| ../t/comp/require.t -../t/io/layers.t - ../t/op/array.t ../t/op/local.t ../t/op/substr.t @@ -147,7 +145,7 @@ s//m#.#/ge; # eval { require 5.005 } ######## -# TODO Reduced test case from t/io/layers.t +# Reduced test case from t/io/layers.t sub PerlIO::F_UTF8 () { 0x00008000 } # from perliol.h BEGIN { PerlIO::Layer->find("encoding",1);} ######## @@ -5095,6 +5095,9 @@ Perl_op_const_sv(pTHX_ const OP *o, CV *cv) dVAR; SV *sv = NULL; + if (PL_madskills) + return NULL; + if (!o) return NULL; @@ -5430,18 +5430,7 @@ Perl_yylex(pTHX) d++; if (*d == ')' && (sv = gv_const_sv(gv))) { s = d + 1; -#ifdef PERL_MAD - if (PL_madskills) { - char *par = SvPVX(PL_linestr) + PL_realtokenstart; - sv_catpvn(PL_thistoken, par, s - par); - if (PL_nextwhite) { - sv_free(PL_nextwhite); - PL_nextwhite = 0; - } - } - else -#endif - goto its_constant; + goto its_constant; } } #ifdef PERL_MAD @@ -5488,7 +5477,7 @@ Perl_yylex(pTHX) "Ambiguous use of -%s resolved as -&%s()", PL_tokenbuf, PL_tokenbuf); /* Check for a constant sub */ - if ((sv = gv_const_sv(gv)) && !PL_madskills) { + if ((sv = gv_const_sv(gv))) { its_constant: SvREFCNT_dec(((SVOP*)yylval.opval)->op_sv); ((SVOP*)yylval.opval)->op_sv = SvREFCNT_inc_simple(sv); |