From: Nicholas Clark Date: Thu, 9 Mar 2006 21:24:04 +0000 (+0000) Subject: -Dmad works, albeit with some test failures: X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=89122651e52a79401bfe24208c007cc022c04e0e;p=p5sagit%2Fp5-mst-13.2.git -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 --- diff --git a/toke.c b/toke.c index bcd9592..d87f7da 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) {