summaryrefslogtreecommitdiff
path: root/toke.c
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2006-03-09 21:24:04 +0000
committerNicholas Clark <nick@ccl4.org>2006-03-09 21:24:04 +0000
commit89122651e52a79401bfe24208c007cc022c04e0e (patch)
treec0d0e9f85bf12a8e57d63ee187ff83c539fdfa93 /toke.c
parente174121bd21e27088dbc46c7450ec9a763efeca2 (diff)
downloadperl-89122651e52a79401bfe24208c007cc022c04e0e.tar.gz
-Dmad works, albeit with some test failures:
ext/B/t/f_sort.t 20 5 25.00% 2 4-6 16 ext/B/t/optree_samples.t 20 1 5.00% 18 ext/List/Util/t/weak.t 1 256 22 1 4.55% 22 ext/Safe/t/safeops.t 0 134 354 288 81.36% 211-354 lib/warnings.t 561 2 0.36% 3 10 p4raw-id: //depot/perl@27450
Diffstat (limited to 'toke.c')
-rw-r--r--toke.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/toke.c b/toke.c
index bcd9592584..d87f7daf0d 100644
--- a/toke.c
+++ b/toke.c
@@ -993,7 +993,11 @@ S_skipspace(pTHX_ register char *s)
/* reset variables for next time we lex */
PL_oldoldbufptr = PL_oldbufptr = PL_bufptr = s = PL_linestart
- = SvPVX(PL_linestr);
+ = SvPVX(PL_linestr)
+#ifdef PERL_MAD
+ + curoff
+#endif
+ ;
PL_bufend = SvPVX(PL_linestr) + SvCUR(PL_linestr);
PL_last_lop = PL_last_uni = NULL;
@@ -3104,12 +3108,12 @@ Perl_yylex(pTHX)
"### Saw case modifier\n"); });
s = PL_bufptr + 1;
if (s[1] == '\\' && s[2] == 'E') {
- PL_bufptr = s + 3;
#ifdef PERL_MAD
if (!thiswhite)
thiswhite = newSVpvn("",0);
sv_catpvn(thiswhite, PL_bufptr, 4);
#endif
+ PL_bufptr = s + 3;
PL_lex_state = LEX_INTERPCONCAT;
return yylex();
}
@@ -4109,7 +4113,7 @@ Perl_yylex(pTHX)
start_force(curforce);
NEXTVAL_NEXTTOKE.opval = attrs;
CURMAD('_', nextwhite);
- force_next(THING);
+ force_next(THING);
}
#ifdef PERL_MAD
if (PL_madskills) {