From: Matt S Trout Date: Thu, 25 Oct 2007 00:44:28 +0000 (+0000) Subject: 0.001003 changes X-Git-Tag: 0.005000~120 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit%2FDevel-Declare.git;a=commitdiff_plain;h=781600856f70d4e3e5f82c6ff49449de22cf28b8 0.001003 changes --- diff --git a/Changes b/Changes index 7abf154..65afc6b 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,10 @@ Changes for Devel-Declare +0.001003 + - internalise definitions for toke.c chunks to save hassle + - make NEWSV macro defined via ifndef rather than version check in case + of 5.8.8-maint (and 5.8.9) + 0.001002 - compilation fixes for 5.9.5 and -DDEBUGGING diff --git a/Declare.xs b/Declare.xs index bbff3fd..9737f09 100644 --- a/Declare.xs +++ b/Declare.xs @@ -1,4 +1,3 @@ -#define PERL_IN_TOKE_C #define PERL_CORE #define PERL_NO_GET_CONTEXT #include "EXTERN.h" diff --git a/lib/Devel/Declare.pm b/lib/Devel/Declare.pm index 9fdc939..8349890 100644 --- a/lib/Devel/Declare.pm +++ b/lib/Devel/Declare.pm @@ -4,7 +4,7 @@ use strict; use warnings; use 5.008001; -our $VERSION = '0.001002'; +our $VERSION = '0.001003'; # mirrored in Declare.xs as DD_HANDLE_* diff --git a/stolen_chunk_of_toke.c b/stolen_chunk_of_toke.c index 0daee63..5a39ef8 100644 --- a/stolen_chunk_of_toke.c +++ b/stolen_chunk_of_toke.c @@ -19,6 +19,18 @@ /* the following #defines are stolen from assorted headers, not toke.c (mst) */ +#define skipspace(a) S_skipspace(aTHX_ a) +#define incline(a) S_incline(aTHX_ a) +#define filter_gets(a,b,c) S_filter_gets(aTHX_ a,b,c) +#define scan_str(a,b,c) S_scan_str(aTHX_ a,b,c) +#define scan_word(a,b,c,d,e) S_scan_word(aTHX_ a,b,c,d,e) + +STATIC void S_incline(pTHX_ char *s); +STATIC char* S_skipspace(pTHX_ char *s); +STATIC char * S_filter_gets(pTHX_ SV *sv, PerlIO *fp, STRLEN append); +STATIC char* S_scan_str(pTHX_ char *start, int keep_quoted, int keep_delims); +STATIC char* S_scan_word(pTHX_ char *s, char *dest, STRLEN destlen, int allow_package, STRLEN *slp); + #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 */ @@ -127,8 +139,10 @@ # define PL_nexttype (PL_parser->nexttype) # define PL_nextval (PL_parser->nextval) /* end of backcompat macros form 5.9 toke.c (mst) */ +#endif /* we also need this because we define PERL_CORE so handy.h doesn't provide it for us (mst) */ +#ifndef #define NEWSV(x,len) newSV(len) #endif @@ -395,20 +409,12 @@ S_scan_word(pTHX_ register char *s, char *dest, STRLEN destlen, int allow_packag * If so, it sets the current line number and file to the values in the comment. */ -/* 5.9+ make the char *s in S_incline const and declare it in proto.h so we - need to do the same to avoid a prototype mismatch (mst) */ -#ifdef PERL_5_9_PLUS -#define S_INCLINE_CONST const -#else -#define S_INCLINE_CONST -#endif - STATIC void -S_incline(pTHX_ S_INCLINE_CONST char *s) +S_incline(pTHX_ char *s) { char *t; - S_INCLINE_CONST char *n; - S_INCLINE_CONST char *e; + char *n; + char *e; char ch; CopLINE_inc(PL_curcop); @@ -436,8 +442,7 @@ S_incline(pTHX_ S_INCLINE_CONST char *s) e = t + 1; } else { - /* explicitly cast to char * in case S_INCLINE_CONST in force (mst) */ - for (t = (char *)s; !isSPACE(*t); t++) ; + for (t = s; !isSPACE(*t); t++) ; e = t; } while (SPACE_OR_TAB(*e) || *e == '\r' || *e == '\f')