From: Florian Ragwitz Date: Fri, 5 Jun 2009 13:34:29 +0000 (+0200) Subject: Merge branch 'master' into mad X-Git-Tag: 0.005005~1 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=mad;hp=-c;p=p5sagit%2FDevel-Declare.git Merge branch 'master' into mad * master: Version 0.005004. Don't define MEM_WRAP_CHECK_ if it's already there. Version 0.005003. Properly ignore dist tarballs. Fail hard if strip_names_and_args fails. Add copyright notice for stolen_chunk_of_toke.c. Add .gitignore. TODO failing tests. Add strip_names_and_args Failing tests for line number issues was 'assing', assuming it to be 'were passing' Conflicts: stolen_chunk_of_toke.c --- 0f0084591575d1db507512268a2427d1844fea55 diff --combined stolen_chunk_of_toke.c index 6f3cf12,9bb96d5..7abecc5 --- a/stolen_chunk_of_toke.c +++ b/stolen_chunk_of_toke.c @@@ -35,7 -35,6 +35,6 @@@ STATIC char* S_scan_word(pTHX_ char #define DPTR2FPTR(t,p) ((t)PTR2nat(p)) /* data pointer to function pointer */ #define FPTR2DPTR(t,p) ((t)PTR2nat(p)) /* function pointer to data pointer */ #define PTR2nat(p) (PTRV)(p) /* pointer to integer of PTRSIZE */ - /*#define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),*/ /* conditionalise these two because as of 5.9.5 we already get them from the headers (mst) */ @@@ -45,6 -44,9 +44,9 @@@ #ifndef SvPVX_const #define SvPVX_const(sv) ((const char*) (0 + SvPVX(sv))) #endif + #ifndef MEM_WRAP_CHECK_ + #define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t), + #endif #define SvPV_renew(sv,n) \ STMT_START { SvLEN_set(sv, n); \ @@@ -136,17 -138,12 +138,17 @@@ #define PL_tokenbuf (PL_parser->tokenbuf) #define PL_multi_end (PL_parser->multi_end) #define PL_error_count (PL_parser->error_count) -/* these three are from the non-PERL_MAD path but I don't -think- I need +#define PL_nexttoke (PL_parser->nexttoke) +/* these are from the non-PERL_MAD path but I don't -think- I need the PERL_MAD stuff since my code isn't really populating things (mst) */ -# define PL_nexttoke (PL_parser->nexttoke) +# ifdef PERL_MAD +# define PL_curforce (PL_parser->curforce) +# define PL_lasttoke (PL_parser->lasttoke) +# else # define PL_nexttype (PL_parser->nexttype) # define PL_nextval (PL_parser->nextval) -/* end of backcompat macros form 5.9 toke.c (mst) */ +# endif +/* end of backcompat macros from 5.9 toke.c (mst) */ #endif /* when ccflags include -DDEBUGGING we need this for earlier 5.8 perls */ @@@ -848,17 -845,6 +850,17 @@@ S_scan_str(pTHX_ char *start, int keep_ STATIC void S_force_next(pTHX_ I32 type) { + dVAR; +#ifdef PERL_MAD + if (PL_curforce < 0) + start_force(PL_lasttoke); + PL_nexttoke[PL_curforce].next_type = type; + if (PL_lex_state != LEX_KNOWNEXT) + PL_lex_defer = PL_lex_state; + PL_lex_state = LEX_KNOWNEXT; + PL_lex_expect = PL_expect; + PL_curforce = -1; +#else PL_nexttype[PL_nexttoke] = type; PL_nexttoke++; if (PL_lex_state != LEX_KNOWNEXT) { @@@ -866,7 -852,6 +868,7 @@@ PL_lex_expect = PL_expect; PL_lex_state = LEX_KNOWNEXT; } +#endif } #define XFAKEBRACK 128