In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/02c01adb33bc4dde0147539d95b275937329f6c4?hp=8ebfc29a8e2bb27462b73f5459f31ca6287da41f>
- Log ----------------------------------------------------------------- commit 02c01adb33bc4dde0147539d95b275937329f6c4 Author: Karl Williamson <[email protected]> Date: Wed Sep 26 11:23:05 2012 -0600 perlreapi.pod: Reflow verbatim lines to 79 cols. M pod/perlreapi.pod M t/porting/known_pod_issues.dat commit da33abaf8bbfaee9e713ac54f3355186650df952 Author: Karl Williamson <[email protected]> Date: Wed Sep 26 11:21:13 2012 -0600 porting/podcheck.t: Add test for removed files If a file is removed from Perl that is in podcheck's data base, it should be removed from the db at that time. This adds a check to make sure that happens. M t/porting/podcheck.t commit ef436c1fdeacf417c8ed1983f03b3646f95966fa Author: Karl Williamson <[email protected]> Date: Wed Sep 26 11:19:20 2012 -0600 podcheck.t: Return success/failure from ok() This program has a private version of ok() to avoid messages that would come from the standard one that would confuse things in these tests. It did not return true/false prior to this commit M t/porting/podcheck.t commit b611509677be68773d3125d50973679ebac50c72 Author: Karl Williamson <[email protected]> Date: Wed Sep 26 10:42:29 2012 -0600 regen podcheck after MPE port removed Commit b5afd3466ff5e5b70ea2921169f138f02727183e removed the MPE/iX port, which included a file that had known (to podcheck.t) pod errors podcheck doesn't currently check if a pod has been removed, so its data base still contained the offending entry, which would be removed the next time it is regenerated for another unrelated reason. This might confuse spelunkers of perl history, so I'm regenerating it separately now. M t/porting/known_pod_issues.dat ----------------------------------------------------------------------- Summary of changes: pod/perlreapi.pod | 78 +++++++++++++++++++++++++++------------ t/porting/known_pod_issues.dat | 2 - t/porting/podcheck.t | 15 +++++++- 3 files changed, 67 insertions(+), 28 deletions(-) diff --git a/pod/perlreapi.pod b/pod/perlreapi.pod index 1cef9c1..a9e0337 100644 --- a/pod/perlreapi.pod +++ b/pod/perlreapi.pod @@ -11,24 +11,40 @@ Each engine is supposed to provide access to a constant structure of the following format: typedef struct regexp_engine { - REGEXP* (*comp) (pTHX_ const SV * const pattern, const U32 flags); - I32 (*exec) (pTHX_ REGEXP * const rx, char* stringarg, char* strend, - char* strbeg, I32 minend, SV* screamer, + REGEXP* (*comp) (pTHX_ + const SV * const pattern, const U32 flags); + I32 (*exec) (pTHX_ + REGEXP * const rx, + char* stringarg, + char* strend, char* strbeg, + I32 minend, SV* screamer, void* data, U32 flags); - char* (*intuit) (pTHX_ REGEXP * const rx, SV *sv, char *strpos, - char *strend, U32 flags, + char* (*intuit) (pTHX_ + REGEXP * const rx, SV *sv, + char *strpos, char *strend, U32 flags, struct re_scream_pos_data_s *data); SV* (*checkstr) (pTHX_ REGEXP * const rx); void (*free) (pTHX_ REGEXP * const rx); - void (*numbered_buff_FETCH) (pTHX_ REGEXP * const rx, const I32 paren, - SV * const sv); - void (*numbered_buff_STORE) (pTHX_ REGEXP * const rx, const I32 paren, + void (*numbered_buff_FETCH) (pTHX_ + REGEXP * const rx, + const I32 paren, + SV * const sv); + void (*numbered_buff_STORE) (pTHX_ + REGEXP * const rx, + const I32 paren, SV const * const value); - I32 (*numbered_buff_LENGTH) (pTHX_ REGEXP * const rx, const SV * const sv, - const I32 paren); - SV* (*named_buff) (pTHX_ REGEXP * const rx, SV * const key, - SV * const value, U32 flags); - SV* (*named_buff_iter) (pTHX_ REGEXP * const rx, const SV * const lastkey, + I32 (*numbered_buff_LENGTH) (pTHX_ + REGEXP * const rx, + const SV * const sv, + const I32 paren); + SV* (*named_buff) (pTHX_ + REGEXP * const rx, + SV * const key, + SV * const value, + U32 flags); + SV* (*named_buff_iter) (pTHX_ + REGEXP * const rx, + const SV * const lastkey, const U32 flags); SV* (*qr_package)(pTHX_ REGEXP * const rx); #ifdef USE_ITHREADS @@ -325,7 +341,9 @@ that's something you'd like your engine to do as well. =head3 numbered_buff_STORE - void (*numbered_buff_STORE) (pTHX_ REGEXP * const rx, const I32 paren, + void (*numbered_buff_STORE) (pTHX_ + REGEXP * const rx, + const I32 paren, SV const * const value); Set the value of a numbered capture variable. C<value> is the scalar @@ -344,8 +362,10 @@ variables, to do this in another engine use the following callback (copied from C<Perl_reg_numbered_buff_store>): void - Example_reg_numbered_buff_store(pTHX_ REGEXP * const rx, const I32 paren, - SV const * const value) + Example_reg_numbered_buff_store(pTHX_ + REGEXP * const rx, + const I32 paren, + SV const * const value) { PERL_UNUSED_ARG(rx); PERL_UNUSED_ARG(paren); @@ -381,7 +401,9 @@ just die when assigned to in the default engine. =head3 numbered_buff_LENGTH - I32 numbered_buff_LENGTH (pTHX_ REGEXP * const rx, const SV * const sv, + I32 numbered_buff_LENGTH (pTHX_ + REGEXP * const rx, + const SV * const sv, const I32 paren); Get the C<length> of a capture variable. There's a special callback @@ -450,7 +472,9 @@ releases. For instance this might be implemented by magic instead =head3 named_buff_iter - SV* (*named_buff_iter) (pTHX_ REGEXP * const rx, const SV * const lastkey, + SV* (*named_buff_iter) (pTHX_ + REGEXP * const rx, + const SV * const lastkey, const U32 flags); =head2 qr_package @@ -540,7 +564,8 @@ values. /* what re is this a lightweight copy of? */ struct regexp* mother_re; - /* Information about the match that the perl core uses to manage things */ + /* Information about the match that the perl core uses to manage + * things */ U32 extflags; /* Flags used both externally and internally */ I32 minlen; /* mininum possible length of string to match */ I32 minlenret; /* mininum possible length of $& */ @@ -557,16 +582,20 @@ values. void *pprivate; /* Data private to the regex engine which created this object. */ - /* Data about the last/current match. These are modified during matching*/ + /* Data about the last/current match. These are modified during + * matching*/ U32 lastparen; /* highest close paren matched ($+) */ U32 lastcloseparen; /* last close paren matched ($^N) */ regexp_paren_pair *swap; /* Swap copy of *offs */ - regexp_paren_pair *offs; /* Array of offsets for (@-) and (@+) */ + regexp_paren_pair *offs; /* Array of offsets for (@-) and + (@+) */ - char *subbeg; /* saved or original string so \digit works forever. */ + char *subbeg; /* saved or original string so \digit works + forever. */ SV_SAVED_COPY /* If non-NULL, SV which is COW from original */ I32 sublen; /* Length of string pointed by subbeg */ - I32 suboffset; /* byte offset of subbeg from logical start of str */ + I32 suboffset; /* byte offset of subbeg from logical start of + str */ I32 subcoffset; /* suboffset equiv, but in chars (for @-/@+) */ /* Information about the match that isn't often used */ @@ -576,7 +605,8 @@ values. char *wrapped; /* wrapped version of the pattern */ I32 wraplen; /* length of wrapped */ - I32 seen_evals; /* number of eval groups in the pattern - for security checks */ + I32 seen_evals; /* number of eval groups in the pattern - for + security checks */ HV *paren_names; /* Optional hash of paren names */ /* Refcount of this regexp */ diff --git a/t/porting/known_pod_issues.dat b/t/porting/known_pod_issues.dat index b6073c3..f90ab1f 100644 --- a/t/porting/known_pod_issues.dat +++ b/t/porting/known_pod_issues.dat @@ -252,7 +252,6 @@ pod/perlmacosx.pod Verbatim line length including indents exceeds 79 by 3 pod/perlmod.pod Verbatim line length including indents exceeds 79 by 2 pod/perlmodlib.pod Verbatim line length including indents exceeds 79 by 3 pod/perlmodstyle.pod Verbatim line length including indents exceeds 79 by 2 -pod/perlmpeix.pod Verbatim line length including indents exceeds 79 by 2 pod/perlmroapi.pod ? Should you be using L<...> instead of 1 pod/perlnetware.pod Verbatim line length including indents exceeds 79 by 4 pod/perlnewmod.pod Verbatim line length including indents exceeds 79 by 1 @@ -266,7 +265,6 @@ pod/perlpacktut.pod Verbatim line length including indents exceeds 79 by 6 pod/perlperf.pod Verbatim line length including indents exceeds 79 by 154 pod/perlpodspec.pod Verbatim line length including indents exceeds 79 by 9 pod/perlpodstyle.pod Verbatim line length including indents exceeds 79 by 1 -pod/perlreapi.pod Verbatim line length including indents exceeds 79 by 18 pod/perlrebackslash.pod Verbatim line length including indents exceeds 79 by 1 pod/perlref.pod Verbatim line length including indents exceeds 79 by 1 pod/perlreguts.pod Verbatim line length including indents exceeds 79 by 17 diff --git a/t/porting/podcheck.t b/t/porting/podcheck.t index 5e1d019..4cea599 100644 --- a/t/porting/podcheck.t +++ b/t/porting/podcheck.t @@ -458,7 +458,8 @@ sub suppressed { sub plan { my %plan = @_; - $planned = $plan{tests}; + $planned = $plan{tests} + 1; # +1 for final test that files haven't + # been removed print "1..$planned\n"; return; } @@ -472,7 +473,7 @@ sub suppressed { $current_test++; print "not " unless $success; print "ok $current_test - $message\n"; - return; + return $success; } sub skip { @@ -1841,9 +1842,19 @@ foreach my $filename (@files) { note(join "", @diagnostics, "See end of this test output for your options on silencing this"); } + + delete $known_problems{$canonical}; } } +if (! ok (keys %known_problems == 0, "The known problems data base includes no references to non-existent files")) { + note("The following files were not found: " + . join ", ", keys %known_problems); + note("They will automatically be removed from the db the next time"); + note(" cd t; ./perl -I../lib porting/podcheck.t --regen"); + note("is run"); +} + my $how_to = <<EOF; run this test script by hand, using the following formula (on Un*x-like machines): -- Perl5 Master Repository
