summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris 'BinGOs' Williams <chris@bingosnet.co.uk>2011-09-11 22:23:46 +0100
committerChris 'BinGOs' Williams <chris@bingosnet.co.uk>2011-09-11 23:16:08 +0100
commit49ef49feda58b9302137fcbf9a3954a2467002c6 (patch)
tree9644b26a3601e25ce51dd4797063fc35f63aa94f
parent41bfb3b613f3eb11b0288f54124b48bae12fddef (diff)
downloadperl-49ef49feda58b9302137fcbf9a3954a2467002c6.tar.gz
Update Devel-PPPort to CPAN version 3.20
[DELTA] 3.20 - 2011-09-10 * fix CPAN #56749: isASCII and isCNTRL macros are buggy (thanks to Karl Williamson for providing a patch and patiently waiting almost two years for me to integrate it) * fix CPAN #70427: RealPPPort.xs:1587: error: lvalue required as unary ‘&’ operand 3.19_03 - 2011-04-13 * keep up with latest core changes 3.19_02 - 2010-03-07 * fix a warning emitted by the test suite with older perls * added support for the following API newSVpvs_share get_cvn_flags get_cvs (thanks to Goro Fuji for providing a patch to implement all of these, fixes CPAN #47174) 3.19_01 - 2010-02-20 * fix CPAN #50763: mistaken use of $[ (thanks to Zefram for spotting this) * remove spurious PUSHMARK from Perl_ppaddr_t (thanks to Gerard Goossen for providing a patch) * improved support for newer compilers in buildperl.pl (thanks to Philippe Bruhat (BooK) for providing a patch) * added support for the following API memEQs memNEs * lots of small toolchain updates
-rw-r--r--MANIFEST48
-rwxr-xr-xPorting/Maintainers.pl2
-rw-r--r--cpan/Devel-PPPort/Changes34
-rw-r--r--cpan/Devel-PPPort/HACKERS10
-rw-r--r--cpan/Devel-PPPort/Makefile.PL6
-rw-r--r--cpan/Devel-PPPort/PPPort_pm.PL18
-rw-r--r--cpan/Devel-PPPort/PPPort_xs.PL12
-rw-r--r--cpan/Devel-PPPort/README2
-rw-r--r--cpan/Devel-PPPort/apicheck_c.PL6
-rw-r--r--cpan/Devel-PPPort/devel/buildperl.pl79
-rw-r--r--cpan/Devel-PPPort/devel/devtools.pl6
-rw-r--r--cpan/Devel-PPPort/devel/mkapidoc.sh6
-rw-r--r--cpan/Devel-PPPort/devel/mktodo19
-rw-r--r--cpan/Devel-PPPort/devel/mktodo.pl32
-rw-r--r--cpan/Devel-PPPort/devel/regenerate18
-rw-r--r--cpan/Devel-PPPort/devel/scanprov29
-rw-r--r--cpan/Devel-PPPort/mktests.PL8
-rw-r--r--cpan/Devel-PPPort/module2.c6
-rw-r--r--cpan/Devel-PPPort/module3.c6
-rw-r--r--cpan/Devel-PPPort/parts/apicheck.pl8
-rw-r--r--cpan/Devel-PPPort/parts/apidoc.fnc69
-rw-r--r--cpan/Devel-PPPort/parts/base/50040004
-rw-r--r--cpan/Devel-PPPort/parts/base/50040504
-rw-r--r--cpan/Devel-PPPort/parts/base/50050001
-rw-r--r--cpan/Devel-PPPort/parts/base/500600010
-rw-r--r--cpan/Devel-PPPort/parts/base/50070033
-rw-r--r--cpan/Devel-PPPort/parts/base/50080091
-rw-r--r--cpan/Devel-PPPort/parts/base/50090031
-rw-r--r--cpan/Devel-PPPort/parts/base/50090041
-rw-r--r--cpan/Devel-PPPort/parts/base/50090055
-rw-r--r--cpan/Devel-PPPort/parts/base/501000120
-rw-r--r--cpan/Devel-PPPort/parts/base/501100050
-rw-r--r--cpan/Devel-PPPort/parts/base/50110016
-rw-r--r--cpan/Devel-PPPort/parts/base/501100214
-rw-r--r--cpan/Devel-PPPort/parts/base/50110031
-rw-r--r--cpan/Devel-PPPort/parts/base/50110042
-rw-r--r--cpan/Devel-PPPort/parts/base/50110052
-rw-r--r--cpan/Devel-PPPort/parts/base/50120001
-rw-r--r--cpan/Devel-PPPort/parts/base/50120011
-rw-r--r--cpan/Devel-PPPort/parts/base/50120021
-rw-r--r--cpan/Devel-PPPort/parts/base/50120031
-rw-r--r--cpan/Devel-PPPort/parts/base/50130001
-rw-r--r--cpan/Devel-PPPort/parts/base/50130016
-rw-r--r--cpan/Devel-PPPort/parts/base/50130029
-rw-r--r--cpan/Devel-PPPort/parts/base/50130033
-rw-r--r--cpan/Devel-PPPort/parts/base/50130042
-rw-r--r--cpan/Devel-PPPort/parts/base/50130056
-rw-r--r--cpan/Devel-PPPort/parts/base/501300633
-rw-r--r--cpan/Devel-PPPort/parts/base/501300736
-rw-r--r--cpan/Devel-PPPort/parts/base/50130088
-rw-r--r--cpan/Devel-PPPort/parts/base/50130091
-rw-r--r--cpan/Devel-PPPort/parts/base/50130104
-rw-r--r--cpan/Devel-PPPort/parts/base/50130111
-rw-r--r--cpan/Devel-PPPort/parts/base/501400038
-rw-r--r--cpan/Devel-PPPort/parts/embed.fnc906
-rw-r--r--cpan/Devel-PPPort/parts/inc/HvNAME6
-rw-r--r--cpan/Devel-PPPort/parts/inc/MY_CXT6
-rw-r--r--cpan/Devel-PPPort/parts/inc/SvPV6
-rw-r--r--cpan/Devel-PPPort/parts/inc/SvREFCNT6
-rw-r--r--cpan/Devel-PPPort/parts/inc/Sv_set6
-rw-r--r--cpan/Devel-PPPort/parts/inc/call6
-rw-r--r--cpan/Devel-PPPort/parts/inc/cop6
-rw-r--r--cpan/Devel-PPPort/parts/inc/exception6
-rw-r--r--cpan/Devel-PPPort/parts/inc/format6
-rw-r--r--cpan/Devel-PPPort/parts/inc/grok6
-rw-r--r--cpan/Devel-PPPort/parts/inc/gv49
-rw-r--r--cpan/Devel-PPPort/parts/inc/limits6
-rw-r--r--cpan/Devel-PPPort/parts/inc/mPUSH6
-rw-r--r--cpan/Devel-PPPort/parts/inc/magic13
-rw-r--r--cpan/Devel-PPPort/parts/inc/memory16
-rw-r--r--cpan/Devel-PPPort/parts/inc/misc11
-rw-r--r--cpan/Devel-PPPort/parts/inc/newCONSTSUB6
-rw-r--r--cpan/Devel-PPPort/parts/inc/newRV6
-rw-r--r--cpan/Devel-PPPort/parts/inc/newSV_type6
-rw-r--r--cpan/Devel-PPPort/parts/inc/newSVpv6
-rw-r--r--cpan/Devel-PPPort/parts/inc/podtest6
-rw-r--r--cpan/Devel-PPPort/parts/inc/ppphbin6
-rw-r--r--cpan/Devel-PPPort/parts/inc/ppphdoc8
-rw-r--r--cpan/Devel-PPPort/parts/inc/ppphtest6
-rw-r--r--cpan/Devel-PPPort/parts/inc/pv_tools6
-rw-r--r--cpan/Devel-PPPort/parts/inc/pvs62
-rw-r--r--cpan/Devel-PPPort/parts/inc/shared_pv12
-rw-r--r--cpan/Devel-PPPort/parts/inc/snprintf6
-rw-r--r--cpan/Devel-PPPort/parts/inc/sprintf6
-rw-r--r--cpan/Devel-PPPort/parts/inc/strlfuncs6
-rw-r--r--cpan/Devel-PPPort/parts/inc/sv_xpvf6
-rw-r--r--cpan/Devel-PPPort/parts/inc/threads6
-rw-r--r--cpan/Devel-PPPort/parts/inc/uv6
-rw-r--r--cpan/Devel-PPPort/parts/inc/variables12
-rw-r--r--cpan/Devel-PPPort/parts/inc/version6
-rw-r--r--cpan/Devel-PPPort/parts/inc/warn6
-rw-r--r--cpan/Devel-PPPort/parts/ppport.fnc6
-rw-r--r--cpan/Devel-PPPort/parts/ppptools.pl31
-rw-r--r--cpan/Devel-PPPort/parts/todo/50050001
-rw-r--r--cpan/Devel-PPPort/parts/todo/50060003
-rw-r--r--cpan/Devel-PPPort/parts/todo/50070033
-rw-r--r--cpan/Devel-PPPort/parts/todo/50080091
-rw-r--r--cpan/Devel-PPPort/parts/todo/50090021
-rw-r--r--cpan/Devel-PPPort/parts/todo/50090032
-rw-r--r--cpan/Devel-PPPort/parts/todo/50090041
-rw-r--r--cpan/Devel-PPPort/parts/todo/50090053
-rw-r--r--cpan/Devel-PPPort/parts/todo/501000114
-rw-r--r--cpan/Devel-PPPort/parts/todo/501100024
-rw-r--r--cpan/Devel-PPPort/parts/todo/50110016
-rw-r--r--cpan/Devel-PPPort/parts/todo/501100214
-rw-r--r--cpan/Devel-PPPort/parts/todo/50110031
-rw-r--r--cpan/Devel-PPPort/parts/todo/50110042
-rw-r--r--cpan/Devel-PPPort/parts/todo/50110052
-rw-r--r--cpan/Devel-PPPort/parts/todo/50120001
-rw-r--r--cpan/Devel-PPPort/parts/todo/50120011
-rw-r--r--cpan/Devel-PPPort/parts/todo/50120021
-rw-r--r--cpan/Devel-PPPort/parts/todo/50120031
-rw-r--r--cpan/Devel-PPPort/parts/todo/50130001
-rw-r--r--cpan/Devel-PPPort/parts/todo/50130016
-rw-r--r--cpan/Devel-PPPort/parts/todo/50130029
-rw-r--r--cpan/Devel-PPPort/parts/todo/50130033
-rw-r--r--cpan/Devel-PPPort/parts/todo/50130042
-rw-r--r--cpan/Devel-PPPort/parts/todo/50130056
-rw-r--r--cpan/Devel-PPPort/parts/todo/501300633
-rw-r--r--cpan/Devel-PPPort/parts/todo/501300736
-rw-r--r--cpan/Devel-PPPort/parts/todo/50130088
-rw-r--r--cpan/Devel-PPPort/parts/todo/50130091
-rw-r--r--cpan/Devel-PPPort/parts/todo/50130104
-rw-r--r--cpan/Devel-PPPort/parts/todo/50130111
-rw-r--r--cpan/Devel-PPPort/parts/todo/501400017
-rw-r--r--cpan/Devel-PPPort/ppport_h.PL6
-rw-r--r--cpan/Devel-PPPort/soak10
-rw-r--r--cpan/Devel-PPPort/t/gv.t12
-rw-r--r--cpan/Devel-PPPort/t/magic.t7
-rw-r--r--cpan/Devel-PPPort/t/memory.t2
-rw-r--r--cpan/Devel-PPPort/t/ppphtest.t2
-rw-r--r--cpan/Devel-PPPort/t/pvs.t12
-rw-r--r--cpan/Devel-PPPort/typemap6
-rw-r--r--pod/perldelta.pod4
134 files changed, 1598 insertions, 667 deletions
diff --git a/MANIFEST b/MANIFEST
index 362700bf37..5617164bf5 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -562,6 +562,7 @@ cpan/Devel-PPPort/parts/base/5008005 Devel::PPPort baseline todo file
cpan/Devel-PPPort/parts/base/5008006 Devel::PPPort baseline todo file
cpan/Devel-PPPort/parts/base/5008007 Devel::PPPort baseline todo file
cpan/Devel-PPPort/parts/base/5008008 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5008009 Devel::PPPort baseline todo file
cpan/Devel-PPPort/parts/base/5009000 Devel::PPPort baseline todo file
cpan/Devel-PPPort/parts/base/5009001 Devel::PPPort baseline todo file
cpan/Devel-PPPort/parts/base/5009002 Devel::PPPort baseline todo file
@@ -569,7 +570,30 @@ cpan/Devel-PPPort/parts/base/5009003 Devel::PPPort baseline todo file
cpan/Devel-PPPort/parts/base/5009004 Devel::PPPort baseline todo file
cpan/Devel-PPPort/parts/base/5009005 Devel::PPPort baseline todo file
cpan/Devel-PPPort/parts/base/5010000 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5010001 Devel::PPPort baseline todo file
cpan/Devel-PPPort/parts/base/5011000 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5011001 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5011002 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5011003 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5011004 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5011005 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5012000 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5012001 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5012002 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5012003 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5013000 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5013001 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5013002 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5013003 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5013004 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5013005 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5013006 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5013007 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5013008 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5013009 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5013010 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5013011 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5014000 Devel::PPPort baseline todo file
cpan/Devel-PPPort/parts/embed.fnc Devel::PPPort Perl API listing
cpan/Devel-PPPort/parts/inc/call Devel::PPPort include
cpan/Devel-PPPort/parts/inc/cop Devel::PPPort include
@@ -636,6 +660,7 @@ cpan/Devel-PPPort/parts/todo/5008005 Devel::PPPort todo file
cpan/Devel-PPPort/parts/todo/5008006 Devel::PPPort todo file
cpan/Devel-PPPort/parts/todo/5008007 Devel::PPPort todo file
cpan/Devel-PPPort/parts/todo/5008008 Devel::PPPort todo file
+cpan/Devel-PPPort/parts/todo/5008009 Devel::PPPort baseline todo file
cpan/Devel-PPPort/parts/todo/5009000 Devel::PPPort todo file
cpan/Devel-PPPort/parts/todo/5009001 Devel::PPPort todo file
cpan/Devel-PPPort/parts/todo/5009002 Devel::PPPort todo file
@@ -643,7 +668,30 @@ cpan/Devel-PPPort/parts/todo/5009003 Devel::PPPort todo file
cpan/Devel-PPPort/parts/todo/5009004 Devel::PPPort todo file
cpan/Devel-PPPort/parts/todo/5009005 Devel::PPPort todo file
cpan/Devel-PPPort/parts/todo/5010000 Devel::PPPort todo file
+cpan/Devel-PPPort/parts/todo/5010001 Devel::PPPort baseline todo file
cpan/Devel-PPPort/parts/todo/5011000 Devel::PPPort todo file
+cpan/Devel-PPPort/parts/todo/5011001 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5011002 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5011003 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5011004 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5011005 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5012000 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5012001 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5012002 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5012003 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5013000 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5013001 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5013002 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5013003 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5013004 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5013005 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5013006 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5013007 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5013008 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5013009 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5013010 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5013011 Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5014000 Devel::PPPort baseline todo file
cpan/Devel-PPPort/ppport_h.PL Devel::PPPort ppport.h writer
cpan/Devel-PPPort/PPPort_pm.PL Devel::PPPort PPPort.pm writer
cpan/Devel-PPPort/PPPort.xs Devel::PPPort dummy PPPort.xs
diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl
index a9d6a2b9fd..dcced70af8 100755
--- a/Porting/Maintainers.pl
+++ b/Porting/Maintainers.pl
@@ -563,7 +563,7 @@ use File::Glob qw(:case);
'Devel::PPPort' =>
{
'MAINTAINER' => 'mhx',
- 'DISTRIBUTION' => 'MHX/Devel-PPPort-3.19.tar.gz',
+ 'DISTRIBUTION' => 'MHX/Devel-PPPort-3.20.tar.gz',
'FILES' => q[cpan/Devel-PPPort],
'EXCLUDED' => [ qw{PPPort.pm} ], # we use PPPort_pm.PL instead
'UPSTREAM' => 'cpan',
diff --git a/cpan/Devel-PPPort/Changes b/cpan/Devel-PPPort/Changes
index fb8ba3a097..e4159f9c96 100644
--- a/cpan/Devel-PPPort/Changes
+++ b/cpan/Devel-PPPort/Changes
@@ -1,3 +1,37 @@
+3.20 - 2011-09-10
+
+ * fix CPAN #56749: isASCII and isCNTRL macros are buggy
+ (thanks to Karl Williamson for providing a patch and patiently
+ waiting almost two years for me to integrate it)
+ * fix CPAN #70427: RealPPPort.xs:1587: error: lvalue required as unary ‘&’ operand
+
+3.19_03 - 2011-04-13
+
+ * keep up with latest core changes
+
+3.19_02 - 2010-03-07
+
+ * fix a warning emitted by the test suite with older perls
+ * added support for the following API
+ newSVpvs_share
+ get_cvn_flags
+ get_cvs
+ (thanks to Goro Fuji for providing a patch to
+ implement all of these, fixes CPAN #47174)
+
+3.19_01 - 2010-02-20
+
+ * fix CPAN #50763: mistaken use of $[
+ (thanks to Zefram for spotting this)
+ * remove spurious PUSHMARK from Perl_ppaddr_t
+ (thanks to Gerard Goossen for providing a patch)
+ * improved support for newer compilers in buildperl.pl
+ (thanks to Philippe Bruhat (BooK) for providing a patch)
+ * added support for the following API
+ memEQs
+ memNEs
+ * lots of small toolchain updates
+
3.19 - 2009-06-14
* updated base/todo files
diff --git a/cpan/Devel-PPPort/HACKERS b/cpan/Devel-PPPort/HACKERS
index 540947f4d1..4a620ba883 100644
--- a/cpan/Devel-PPPort/HACKERS
+++ b/cpan/Devel-PPPort/HACKERS
@@ -11,15 +11,15 @@ lying around in this distribution.
=head1 DESCRIPTION
-=head2 How to build 114 versions of Perl
+=head2 How to build 136 versions of Perl
C<Devel::PPPort> supports Perl versions between 5.003 and bleadperl.
To guarantee this support, I need some of these versions on my
-machine. I currently have 114 different Perl version/configuration
+machine. I currently have 136 different Perl version/configuration
combinations installed on my laptop.
As many of the old Perl distributions need patching to compile
-cleanly on newer systems (and because building 114 Perls by hand
+cleanly on newer systems (and because building 136 Perls by hand
just isn't fun), I wrote a tool to build all the different
versions and configurations. You can find it in F<devel/buildperl.pl>.
It can currently build the following Perl releases:
@@ -148,7 +148,7 @@ in the root directory of the distribution.
Finally, add the remaining baseline information by running
perl Makefile.PL && make
- perl devel/scanprov write
+ perl devel/scanprov --mode=write
=back
@@ -309,7 +309,7 @@ module in the core:
=head1 COPYRIGHT
-Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
Version 2.x, Copyright (C) 2001, Paul Marquess.
diff --git a/cpan/Devel-PPPort/Makefile.PL b/cpan/Devel-PPPort/Makefile.PL
index 67eebc1b52..8a77ae5e82 100644
--- a/cpan/Devel-PPPort/Makefile.PL
+++ b/cpan/Devel-PPPort/Makefile.PL
@@ -4,13 +4,13 @@
#
################################################################################
#
-# $Revision: 30 $
+# $Revision: 32 $
# $Author: mhx $
-# $Date: 2009/06/12 04:07:05 +0200 $
+# $Date: 2010/03/07 13:15:42 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
diff --git a/cpan/Devel-PPPort/PPPort_pm.PL b/cpan/Devel-PPPort/PPPort_pm.PL
index fcc8671ef6..e1118caf66 100644
--- a/cpan/Devel-PPPort/PPPort_pm.PL
+++ b/cpan/Devel-PPPort/PPPort_pm.PL
@@ -4,13 +4,13 @@
#
################################################################################
#
-# $Revision: 65 $
+# $Revision: 67 $
# $Author: mhx $
-# $Date: 2009/06/12 04:10:36 +0200 $
+# $Date: 2010/03/07 13:15:41 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
@@ -126,7 +126,7 @@ $data =~ s{^__UNSUPPORTED_API__(\s*?)^}
{join "\n", @todo}gem;
$data =~ s{__MIN_PERL__}{5.003}g;
-$data =~ s{__MAX_PERL__}{5.10.0}g;
+$data =~ s{__MAX_PERL__}{5.11.5}g;
open FH, ">PPPort.pm" or die "PPPort.pm: $!\n";
print FH $data;
@@ -372,13 +372,13 @@ __DATA__
#
################################################################################
#
-# $Revision: 65 $
+# $Revision: 67 $
# $Author: mhx $
-# $Date: 2009/06/12 04:10:36 +0200 $
+# $Date: 2010/03/07 13:15:41 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
@@ -515,7 +515,7 @@ Version 3.x was ported back to CPAN by Marcus Holland-Moritz.
=head1 COPYRIGHT
-Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
Version 2.x, Copyright (C) 2001, Paul Marquess.
@@ -535,7 +535,7 @@ package Devel::PPPort;
use strict;
use vars qw($VERSION $data);
-$VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.19 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' };
+$VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.20 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' };
sub _init_data
{
diff --git a/cpan/Devel-PPPort/PPPort_xs.PL b/cpan/Devel-PPPort/PPPort_xs.PL
index 8d9fd4f674..f1921c8f7d 100644
--- a/cpan/Devel-PPPort/PPPort_xs.PL
+++ b/cpan/Devel-PPPort/PPPort_xs.PL
@@ -4,13 +4,13 @@
#
################################################################################
#
-# $Revision: 15 $
+# $Revision: 16 $
# $Author: mhx $
-# $Date: 2009/01/18 14:10:48 +0100 $
+# $Date: 2010/03/07 13:15:41 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
@@ -93,13 +93,13 @@ __DATA__
*
********************************************************************************
*
-* $Revision: 15 $
+* $Revision: 16 $
* $Author: mhx $
-* $Date: 2009/01/18 14:10:48 +0100 $
+* $Date: 2010/03/07 13:15:41 +0100 $
*
********************************************************************************
*
-* Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+* Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
* Version 2.x, Copyright (C) 2001, Paul Marquess.
* Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
*
diff --git a/cpan/Devel-PPPort/README b/cpan/Devel-PPPort/README
index fc24309964..2ccd6af283 100644
--- a/cpan/Devel-PPPort/README
+++ b/cpan/Devel-PPPort/README
@@ -69,7 +69,7 @@ to create a ticket for the module.
5. COPYRIGHT
------------
-Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
Version 2.x, Copyright (C) 2001, Paul Marquess.
Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
diff --git a/cpan/Devel-PPPort/apicheck_c.PL b/cpan/Devel-PPPort/apicheck_c.PL
index e4d861e18a..1abf66c84f 100644
--- a/cpan/Devel-PPPort/apicheck_c.PL
+++ b/cpan/Devel-PPPort/apicheck_c.PL
@@ -4,13 +4,13 @@
#
################################################################################
#
-# $Revision: 11 $
+# $Revision: 12 $
# $Author: mhx $
-# $Date: 2009/01/18 14:10:49 +0100 $
+# $Date: 2010/03/07 13:15:41 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
diff --git a/cpan/Devel-PPPort/devel/buildperl.pl b/cpan/Devel-PPPort/devel/buildperl.pl
index 49b7fbbf29..3dd0c7576f 100644
--- a/cpan/Devel-PPPort/devel/buildperl.pl
+++ b/cpan/Devel-PPPort/devel/buildperl.pl
@@ -5,13 +5,13 @@
#
################################################################################
#
-# $Revision: 15 $
+# $Revision: 18 $
# $Author: mhx $
-# $Date: 2009/01/18 14:10:50 +0100 $
+# $Date: 2010/03/07 13:15:42 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
@@ -132,6 +132,25 @@ my @patch = (
[ \&patch_sysv ],
],
},
+ {
+ perl => [
+ qr/^5\.004_05$/,
+ qr/^5\.005(?:_0[1-4])?$/,
+ qr/^5\.6\.[01]$/,
+ ],
+ subs => [
+ [ \&patch_configure ],
+ [ \&patch_makedepend_lc ],
+ ],
+ },
+ {
+ perl => [
+ '5.8.0',
+ ],
+ subs => [
+ [ \&patch_makedepend_lc ],
+ ],
+ },
);
my(%perl, @perls);
@@ -176,7 +195,7 @@ else {
}
find(sub {
- /^(perl-?(5\..*))\.tar\.(gz|bz2)$/ or return;
+ /^(perl-?(5\..*))\.tar\.(gz|bz2|lzma)$/ or return;
$perl{$1} = { version => $2, source => $File::Find::name, compress => $3 };
}, $opt{source});
@@ -338,10 +357,12 @@ sub build_and_install
my $perl = shift;
my $prefix = expand($opt{prefix});
+ run_or_die(q{sed -i -e "s:\\*/\\*) finc=\\"-I\\`echo \\$file | sed 's#/\\[^/\\]\\*\\$##\\`\\" ;;:*/*) finc=\\"-I\\`echo \\$file | sed 's#/[^/]\\*\\$##'\\`\\" ;;:" makedepend.SH});
+
print "building perl $perl->{version} ($current{config})\n";
run_or_die("./Configure $config{$current{config}}{config_args} -Dusedevel -Uinstallusrbinperl -Dprefix=$prefix");
- run_or_die("sed -i -e '/^.*<built-in>/d' -e '/^.*<command line>/d' makefile x2p/makefile");
+ run_or_die("sed -i -e '/^.*<builtin>/d' -e '/^.*<built-in>/d' -e '/^.*<command line>/d' -e '/^.*<command-line>/d' makefile x2p/makefile");
run_or_die("make all");
run("make test") if $opt{test};
if ($opt{install}) {
@@ -425,6 +446,52 @@ END
}
}
+sub patch_configure
+{
+ patch(<<'END');
+--- Configure
++++ Configure
+@@ -3380,6 +3380,18 @@
+ test "X$gfpthkeep" != Xy && gfpth=""
+ EOSC
+
++# gcc 3.1 complains about adding -Idirectories that it already knows about,
++# so we will take those off from locincpth.
++case "$gccversion" in
++3*)
++ echo "main(){}">try.c
++ for incdir in `$cc -v -c try.c 2>&1 | \
++ sed '1,/^#include <\.\.\.>/d;/^End of search list/,$d;s/^ //'` ; do
++ locincpth=`echo $locincpth | sed s!$incdir!!`
++ done
++ $rm -f try try.*
++esac
++
+ : What should the include directory be ?
+ echo " "
+ $echo $n "Hmm... $c"
+END
+}
+
+sub patch_makedepend_lc
+{
+ patch(<<'END');
+--- makedepend.SH
++++ makedepend.SH
+@@ -58,6 +58,10 @@ case $PERL_CONFIG_SH in
+ ;;
+ esac
+
++# Avoid localized gcc/cc messages
++LC_ALL=C
++export LC_ALL
++
+ # We need .. when we are in the x2p directory if we are using the
+ # cppstdin wrapper script.
+ # Put .. and . first so that we pick up the present cppstdin, not
+END
+}
+
sub patch
{
my($patch) = @_;
@@ -528,7 +595,7 @@ options, use:
=head1 COPYRIGHT
-Copyright (c) 2004-2009, Marcus Holland-Moritz.
+Copyright (c) 2004-2010, Marcus Holland-Moritz.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/cpan/Devel-PPPort/devel/devtools.pl b/cpan/Devel-PPPort/devel/devtools.pl
index a87c172000..65011d6dd5 100644
--- a/cpan/Devel-PPPort/devel/devtools.pl
+++ b/cpan/Devel-PPPort/devel/devtools.pl
@@ -4,13 +4,13 @@
#
################################################################################
#
-# $Revision: 5 $
+# $Revision: 6 $
# $Author: mhx $
-# $Date: 2009/01/18 14:10:50 +0100 $
+# $Date: 2010/03/07 13:15:42 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
diff --git a/cpan/Devel-PPPort/devel/mkapidoc.sh b/cpan/Devel-PPPort/devel/mkapidoc.sh
index a4de2b4a27..1dd27f2649 100644
--- a/cpan/Devel-PPPort/devel/mkapidoc.sh
+++ b/cpan/Devel-PPPort/devel/mkapidoc.sh
@@ -5,13 +5,13 @@
#
################################################################################
#
-# $Revision: 13 $
+# $Revision: 14 $
# $Author: mhx $
-# $Date: 2009/01/18 14:10:50 +0100 $
+# $Date: 2010/03/07 13:15:43 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
diff --git a/cpan/Devel-PPPort/devel/mktodo b/cpan/Devel-PPPort/devel/mktodo
index d2bf8b8d8c..4a2e394cf1 100644
--- a/cpan/Devel-PPPort/devel/mktodo
+++ b/cpan/Devel-PPPort/devel/mktodo
@@ -5,13 +5,13 @@
#
################################################################################
#
-# $Revision: 16 $
+# $Revision: 18 $
# $Author: mhx $
-# $Date: 2009/01/18 14:10:50 +0100 $
+# $Date: 2010/03/07 13:15:43 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
@@ -29,20 +29,23 @@ our %opt = (
base => 0,
check => 1,
verbose => 0,
+ install => '/tmp/perl/install/default',
+ blead => 'bleadperl',
);
-GetOptions(\%opt, qw( base check! verbose )) or die;
+GetOptions(\%opt, qw( base check! verbose install=s blead=s blead-version=s )) or die;
identify();
my $outdir = 'parts/todo';
-my $install = '/tmp/perl/install/default';
-# my $install = '/tmp/perl/install/thread';
-
my @perls = sort { $b->{version} <=> $a->{version} }
map { { version => `$_ -e 'printf "%.6f", \$]'`, path => $_ } }
- ('bleadperl', glob "$install/*/bin/perl5.*");
+ ($opt{blead}, glob "$opt{install}/*/bin/perl5.*");
+
+if (exists $opt{'blead-version'}) {
+ $perls[0]{version} = $opt{'blead-version'};
+}
for (1 .. $#perls) {
$perls[$_]{todo} = $perls[$_-1]{version};
diff --git a/cpan/Devel-PPPort/devel/mktodo.pl b/cpan/Devel-PPPort/devel/mktodo.pl
index 156a1c8518..22183f74a1 100644
--- a/cpan/Devel-PPPort/devel/mktodo.pl
+++ b/cpan/Devel-PPPort/devel/mktodo.pl
@@ -5,13 +5,13 @@
#
################################################################################
#
-# $Revision: 16 $
+# $Revision: 18 $
# $Author: mhx $
-# $Date: 2009/01/18 14:10:51 +0100 $
+# $Date: 2011/04/13 09:38:10 +0200 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
@@ -316,10 +316,28 @@ sub read_sym
sub get_apicheck_symbol_map
{
- my $r = run(qw(make apicheck.i));
-
- if ($r->{didnotrun} or $r->{status}) {
- die "cannot run make apicheck.i";
+ my $r;
+
+ while (1) {
+ $r = run(qw(make apicheck.i));
+
+ last unless $r->{didnotrun} or $r->{status};
+
+ my %sym = map { /error: macro "(\w+)" (?:requires|passed) \d+ argument/ ? ($1 => 'A') : () }
+ @{$r->{stderr}};
+
+ if (keys %sym) {
+ for my $s (sort keys %sym) {
+ sym('new', $s, $sym{$s});
+ $all{$s} = $sym{$s};
+ }
+ write_todo($opt{todo}, $opt{version}, \%all);
+ regen_apicheck();
+ }
+ else {
+ die "cannot run make apicheck.i ($r->{didnotrun} / $r->{status}):\n".
+ join('', @{$r->{stdout}})."\n---\n".join('', @{$r->{stderr}});
+ }
}
my $fh = IO::File->new('apicheck.i')
diff --git a/cpan/Devel-PPPort/devel/regenerate b/cpan/Devel-PPPort/devel/regenerate
index 31765055cd..1ab00532da 100644
--- a/cpan/Devel-PPPort/devel/regenerate
+++ b/cpan/Devel-PPPort/devel/regenerate
@@ -5,13 +5,13 @@
#
################################################################################
#
-# $Revision: 8 $
+# $Revision: 10 $
# $Author: mhx $
-# $Date: 2009/01/18 14:10:50 +0100 $
+# $Date: 2010/03/07 13:15:42 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
@@ -33,7 +33,7 @@ our %opt = (
verbose => 0,
);
-GetOptions(\%opt, qw( check! verbose )) or die pod2usage();
+GetOptions(\%opt, qw( check! verbose install=s blead=s blead-version=s )) or die pod2usage();
identify();
@@ -83,9 +83,15 @@ for my $dir (qw( base todo )) {
}
}
+my @perlargs;
+push @perlargs, "--install=$opt{install}" if exists $opt{install};
+push @perlargs, "--blead=$opt{blead}" if exists $opt{blead};
+
my $T0 = time;
my @args = ddverbose();
push @args, '--nocheck' unless $opt{check};
+push @args, "--blead-version=$opt{'blead-version'}" if exists $opt{'blead-version'};
+push @args, @perlargs;
print "\nBuilding baseline files...\n\n";
@@ -113,7 +119,7 @@ print "\nAdding remaining baseline info...\n\n";
unless (runperl('Makefile.PL') and
runtool('make') and
- runperl('devel/scanprov', 'write')) {
+ runperl('devel/scanprov', '--mode=write', @perlargs)) {
print "\nSomething went wrong while adding the baseline info.\n";
quit_now();
}
@@ -148,7 +154,7 @@ regenerate - Automatically regeneate Devel::PPPort's API information
=head1 COPYRIGHT
-Copyright (c) 2006-2009, Marcus Holland-Moritz.
+Copyright (c) 2006-2010, Marcus Holland-Moritz.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/cpan/Devel-PPPort/devel/scanprov b/cpan/Devel-PPPort/devel/scanprov
index 19d294472a..b958eca7c1 100644
--- a/cpan/Devel-PPPort/devel/scanprov
+++ b/cpan/Devel-PPPort/devel/scanprov
@@ -5,13 +5,13 @@
#
################################################################################
#
-# $Revision: 9 $
+# $Revision: 11 $
# $Author: mhx $
-# $Date: 2009/01/18 14:10:50 +0100 $
+# $Date: 2010/03/07 13:15:42 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
@@ -21,10 +21,19 @@
################################################################################
use strict;
+use Getopt::Long;
+
require 'parts/ppptools.pl';
-die "Usage: $0 [check|write]\n" unless @ARGV && $ARGV[0] =~ /^(check|write)$/;
-my $mode = $1;
+our %opt = (
+ mode => 'check',
+ install => '/tmp/perl/install/default',
+ blead => 'bleadperl',
+);
+
+GetOptions(\%opt, qw( install=s mode=s blead=s )) or die;
+
+my $write = $opt{mode} eq 'write';
my %embed = map { ( $_->{name} => 1 ) }
parse_embed(qw(parts/embed.fnc parts/apidoc.fnc parts/ppport.fnc ));
@@ -33,11 +42,9 @@ my @provided = grep { !exists $embed{$_} }
map { /^(\w+)/ ? $1 : () }
`$^X ppport.h --list-provided`;
-my $install = '/tmp/perl/install/default';
-
my @perls = sort { $b->{version} <=> $a->{version} }
map { { version => `$_ -e 'printf "%.6f", \$]'`, path => $_ } }
- ('bleadperl', glob "$install/*/bin/perl5.*");
+ ($opt{blead}, glob "$opt{install}/*/bin/perl5.*");
for (1 .. $#perls) {
$perls[$_]{todo} = $perls[$_-1]{version};
@@ -68,10 +75,10 @@ for my $v (keys %v) {
$file = "$out/$file";
-e $file or die "non-existent: $file\n";
print "-- $file --\n";
- $mode eq 'write' and (open F, ">>$file" or die "$file: $!\n");
+ $write and (open F, ">>$file" or die "$file: $!\n");
for (@new) {
print "adding $_\n";
- $mode eq 'write' and printf F "%-30s # added by $0\n", $_;
+ $write and printf F "%-30s # added by $0\n", $_;
}
- $mode eq 'write' and close F;
+ $write and close F;
}
diff --git a/cpan/Devel-PPPort/mktests.PL b/cpan/Devel-PPPort/mktests.PL
index 82ccab3238..09fc71dfc6 100644
--- a/cpan/Devel-PPPort/mktests.PL
+++ b/cpan/Devel-PPPort/mktests.PL
@@ -4,13 +4,13 @@
#
################################################################################
#
-# $Revision: 31 $
+# $Revision: 33 $
# $Author: mhx $
-# $Date: 2009/06/11 20:53:42 +0200 $
+# $Date: 2010/03/07 13:15:41 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
@@ -77,6 +77,8 @@ __DATA__
BEGIN {
if ($ENV{'PERL_CORE'}) {
+ chdir 't' if -d 't';
+ @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
require Config; import Config;
use vars '%Config';
if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
diff --git a/cpan/Devel-PPPort/module2.c b/cpan/Devel-PPPort/module2.c
index e5f4ef607c..1053017eda 100644
--- a/cpan/Devel-PPPort/module2.c
+++ b/cpan/Devel-PPPort/module2.c
@@ -4,13 +4,13 @@
*
********************************************************************************
*
-* $Revision: 12 $
+* $Revision: 13 $
* $Author: mhx $
-* $Date: 2009/01/18 14:10:49 +0100 $
+* $Date: 2010/03/07 13:15:41 +0100 $
*
********************************************************************************
*
-* Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+* Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
* Version 2.x, Copyright (C) 2001, Paul Marquess.
* Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
*
diff --git a/cpan/Devel-PPPort/module3.c b/cpan/Devel-PPPort/module3.c
index bcfbcd08b3..6a7e89a1ad 100644
--- a/cpan/Devel-PPPort/module3.c
+++ b/cpan/Devel-PPPort/module3.c
@@ -4,13 +4,13 @@
*
********************************************************************************
*
-* $Revision: 12 $
+* $Revision: 13 $
* $Author: mhx $
-* $Date: 2009/01/18 14:10:49 +0100 $
+* $Date: 2010/03/07 13:15:41 +0100 $
*
********************************************************************************
*
-* Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+* Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
* Version 2.x, Copyright (C) 2001, Paul Marquess.
* Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
*
diff --git a/cpan/Devel-PPPort/parts/apicheck.pl b/cpan/Devel-PPPort/parts/apicheck.pl
index e6caab57c9..e93fbe81a3 100644
--- a/cpan/Devel-PPPort/parts/apicheck.pl
+++ b/cpan/Devel-PPPort/parts/apicheck.pl
@@ -5,13 +5,13 @@
#
################################################################################
#
-# $Revision: 35 $
+# $Revision: 37 $
# $Author: mhx $
-# $Date: 2009/06/12 12:29:35 +0200 $
+# $Date: 2010/03/07 13:15:43 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
@@ -261,7 +261,7 @@ for $f (@f) {
}
my $aTHX_args = "$aTHX$args";
- unless ($f->{flags}{'m'} and @arg == 0) {
+ if (!$f->{flags}{'m'} or $f->{flags}{'b'} or @arg > 0) {
$args = "($args)";
$aTHX_args = "($aTHX_args)";
}
diff --git a/cpan/Devel-PPPort/parts/apidoc.fnc b/cpan/Devel-PPPort/parts/apidoc.fnc
index 740e04fc45..f68bfd35ed 100644
--- a/cpan/Devel-PPPort/parts/apidoc.fnc
+++ b/cpan/Devel-PPPort/parts/apidoc.fnc
@@ -14,15 +14,19 @@
:
Ama|char*|savepvs|const char* s
+Ama|char*|savesharedpvs|const char* s
Ama|SV*|newSVpvs|const char* s
Ama|SV*|newSVpvs_flags|const char* s|U32 flags
Ama|SV*|newSVpvs_share|const char* s
-Am|bool|isALNUM|char ch
Am|bool|isALPHA|char ch
+Am|bool|isASCII|char ch
Am|bool|isDIGIT|char ch
Am|bool|isLOWER|char ch
+Am|bool|isOCTAL|char ch
Am|bool|isSPACE|char ch
Am|bool|isUPPER|char ch
+Am|bool|isWORDCHAR|char ch
+Am|bool|isXDIGIT|char ch
Am|bool|strEQ|char* s1|char* s2
Am|bool|strGE|char* s1|char* s2
Am|bool|strGT|char* s1|char* s2
@@ -37,14 +41,15 @@ Am|bool|SvIsCOW_shared_hash|SV* sv
Am|bool|SvIsCOW|SV* sv
Am|bool|SvRXOK|SV* sv
Am|bool|SvTAINTED|SV* sv
+Am|bool|SvTRUE_nomg|SV* sv
Am|bool|SvTRUE|SV* sv
Am|bool|SvUOK|SV* sv
Am|bool|SvVOK|SV* sv
Am|char*|HePV|HE* he|STRLEN len
-Am|char*|HeUTF8|HE* he|STRLEN len
+Am|char*|HeUTF8|HE* he
+Am|char*|HvENAME|HV* stash
Am|char*|HvNAME|HV* stash
Am|char*|SvEND|SV* sv
-Am|char*|SvGAMAGIC|SV* sv
Am|char *|SvGROW|SV* sv|STRLEN len
Am|char*|SvPVbyte_force|SV* sv|STRLEN len
Am|char*|SvPVbyte_nolen|SV* sv
@@ -54,6 +59,7 @@ Am|char*|SvPVbytex|SV* sv|STRLEN len
Am|char*|SvPV_force_nomg|SV* sv|STRLEN len
Am|char*|SvPV_force|SV* sv|STRLEN len
Am|char*|SvPV_nolen|SV* sv
+Am|char*|SvPV_nomg_nolen|SV* sv
Am|char*|SvPV_nomg|SV* sv|STRLEN len
Am|char*|SvPV|SV* sv|STRLEN len
Am|char*|SvPVutf8_force|SV* sv|STRLEN len
@@ -65,6 +71,9 @@ Am|char*|SvPVX|SV* sv
Am|char*|SvPVx|SV* sv|STRLEN len
Am|char|toLOWER|char ch
Am|char|toUPPER|char ch
+Am|const char *|OP_DESC|OP *o
+Am|const char *|OP_NAME|OP *o
+Am|HV *|cop_hints_2hv|const COP *cop|U32 flags
Am|HV*|CvSTASH|CV* cv
Am|HV*|gv_stashpvs|const char* name|I32 create
Am|HV*|SvSTASH|SV* sv
@@ -84,6 +93,9 @@ Amn|I32|ix
Amn|IV|POPi
Amn|long|POPl
Amn|NV|POPn
+Amn|peep_t|PL_peepp
+Amn|peep_t|PL_rpeepp
+Amn|Perl_ophook_t|PL_opfreehook
Amn|STRLEN|PL_na
Amn|SV|PL_sv_no
Amn|SV|PL_sv_undef
@@ -91,11 +103,13 @@ Amn|SV|PL_sv_yes
Amn|SV*|POPs
Amn|U32|GIMME
Amn|U32|GIMME_V
+Am|NV|SvNV_nomg|SV* sv
Am|NV|SvNV|SV* sv
Am|NV|SvNVx|SV* sv
Am|NV|SvNVX|SV* sv
Amn|(whatever)|RETVAL
Amn|(whatever)|THIS
+Am|OP*|LINKLIST|OP *o
Am|REGEXP *|SvRX|SV *sv
Ams||dAX
Ams||dAXMARK
@@ -120,6 +134,10 @@ Ams||SPAGAIN
Am|STRLEN|HeKLEN|HE* he
Am|STRLEN|SvCUR|SV* sv
Am|STRLEN|SvLEN|SV* sv
+Am|SV *|cop_hints_fetch_pv|const COP *cop|const char *key|U32 hash|U32 flags
+Am|SV *|cop_hints_fetch_pvn|const COP *cop|const char *keypv|STRLEN keylen|U32 hash|U32 flags
+Am|SV *|cop_hints_fetch_pvs|const COP *cop|const char *key|U32 flags
+Am|SV *|cop_hints_fetch_sv|const COP *cop|SV *key|U32 hash|U32 flags
Am|SV*|GvSV|GV* gv
Am|SV*|HeSVKEY_force|HE* he
Am|SV*|HeSVKEY|HE* he
@@ -135,14 +153,18 @@ Am|SV*|SvREFCNT_inc_simple_NN|SV* sv
Am|SV*|SvREFCNT_inc_simple|SV* sv
Am|SV*|SvREFCNT_inc|SV* sv
Am|SV*|SvRV|SV* sv
+Am|SV *|sv_setref_pvs|SV *rv|const char* classname|const char* s
Am|svtype|SvTYPE|SV* sv
Ams||XCPT_RETHROW
+Ams||XS_APIVERSION_BOOTCHECK
Ams||XSRETURN_EMPTY
Ams||XSRETURN_NO
Ams||XSRETURN_UNDEF
Ams||XSRETURN_YES
Ams||XS_VERSION_BOOTCHECK
Am|U32|HeHASH|HE* he
+Am|U32|OP_CLASS|OP *o
+Am|U32|SvGAMAGIC|SV* sv
Am|U32|SvIOKp|SV* sv
Am|U32|SvIOK|SV* sv
Am|U32|SvNIOKp|SV* sv
@@ -156,6 +178,7 @@ Am|U32|SvPOK|SV* sv
Am|U32|SvREFCNT|SV* sv
Am|U32|SvROK|SV* sv
Am|U32|SvUTF8|SV* sv
+Am|U32|XopFLAGS|XOP *xop
AmU||G_ARRAY
AmU||G_DISCARD
AmU||G_EVAL
@@ -188,8 +211,10 @@ Am|UV|SvUVX|SV* sv
AmU||XCPT_CATCH
AmU||XCPT_TRY_END
AmU||XCPT_TRY_START
+AmUx|Perl_keyword_plugin_t|PL_keyword_plugin
AmU||XS
AmU||XS_VERSION
+AmU|yy_parser *|PL_parser
Am|void *|CopyD|void* src|void* dest|int nitems|type
Am|void|Copy|void* src|void* dest|int nitems|type
Am|void|EXTEND|SP|int nitems
@@ -228,6 +253,10 @@ Am|void|Renew|void* ptr|int nitems|type
Am|void|Safefree|void* ptr
Am|void|StructCopy|type src|type dest|type
Am|void|sv_catpvn_nomg|SV* sv|const char* ptr|STRLEN len
+Am|void|sv_catpv_nomg|SV* sv|const char* ptr
+Am|void|sv_catpvs_flags|SV* sv|const char* s|I32 flags
+Am|void|sv_catpvs_mg|SV* sv|const char* s
+Am|void|sv_catpvs_nomg|SV* sv|const char* s
Am|void|sv_catpvs|SV* sv|const char* s
Am|void|sv_catsv_nomg|SV* dsv|SV* ssv
Am|void|SvCUR_set|SV* sv|STRLEN len
@@ -262,6 +291,7 @@ Am|void|SvRV_set|SV* sv|SV* val
Am|void|SvSetMagicSV_nosteal|SV* dsv|SV* ssv
Am|void|SvSETMAGIC|SV* sv
Am|void|SvSetMagicSV|SV* dsb|SV* ssv
+Am|void|sv_setpvs_mg|SV* sv|const char* s
Am|void|sv_setpvs|SV* sv|const char* s
Am|void|sv_setsv_nomg|SV* dsv|SV* ssv
Am|void|SvSetSV_nosteal|SV* dsv|SV* ssv
@@ -276,6 +306,9 @@ Am|void|SvUPGRADE|SV* sv|svtype type
Am|void|SvUTF8_off|SV *sv
Am|void|SvUTF8_on|SV *sv
Am|void|SvUV_set|SV* sv|UV val
+Am|void|XopDISABLE|XOP *xop|which
+Am|void|XopENABLE|XOP *xop|which
+Am|void|XopENTRY_set|XOP *xop|which|value
Am|void|XPUSHi|IV iv
Am|void|XPUSHmortal
Am|void|XPUSHn|NV nv
@@ -295,6 +328,31 @@ Am|void|XST_mUNDEF|int pos
Am|void|XST_mYES|int pos
Am|void *|ZeroD|void* dest|int nitems|type
Am|void|Zero|void* dest|int nitems|type
+Amx|COPHH *|cophh_copy|COPHH *cophh
+Amx|COPHH *|cophh_delete_pv|const COPHH *cophh|const char *key|U32 hash|U32 flags
+Amx|COPHH *|cophh_delete_pvn|COPHH *cophh|const char *keypv|STRLEN keylen|U32 hash|U32 flags
+Amx|COPHH *|cophh_delete_pvs|const COPHH *cophh|const char *key|U32 flags
+Amx|COPHH *|cophh_delete_sv|const COPHH *cophh|SV *key|U32 hash|U32 flags
+Amx|COPHH *|cophh_new_empty
+Amx|COPHH *|cophh_store_pv|const COPHH *cophh|const char *key|U32 hash|SV *value|U32 flags
+Amx|COPHH *|cophh_store_pvn|COPHH *cophh|const char *keypv|STRLEN keylen|U32 hash|SV *value|U32 flags
+Amx|COPHH *|cophh_store_pvs|const COPHH *cophh|const char *key|SV *value|U32 flags
+Amx|COPHH *|cophh_store_sv|const COPHH *cophh|SV *key|U32 hash|SV *value|U32 flags
+Amx|HV *|cophh_2hv|const COPHH *cophh|U32 flags
+Am||XopENTRY|XOP *xop|which
+Amx|SV *|cophh_fetch_pv|const COPHH *cophh|const char *key|U32 hash|U32 flags
+Amx|SV *|cophh_fetch_pvn|const COPHH *cophh|const char *keypv|STRLEN keylen|U32 hash|U32 flags
+Amx|SV *|cophh_fetch_pvs|const COPHH *cophh|const char *key|U32 flags
+Amx|SV *|cophh_fetch_sv|const COPHH *cophh|SV *key|U32 hash|U32 flags
+AmxU|char *|PL_parser-E<gt>bufend
+AmxU|char *|PL_parser-E<gt>bufptr
+AmxU|char *|PL_parser-E<gt>linestart
+AmxU|SV *|PL_parser-E<gt>linestr
+Amx|void|BhkDISABLE|BHK *hk|which
+Amx|void|BhkENABLE|BHK *hk|which
+Amx|void|BhkENTRY_set|BHK *hk|which|void *ptr
+Amx|void|cophh_free|COPHH *cophh
+Amx|void|lex_stuff_pvs|const char *pv|U32 flags
m|AV *|CvPADLIST|CV *cv
m|bool|CvWEAKOUTSIDE|CV *cv
m|char *|PAD_COMPNAME_PV|PADOFFSET po
@@ -310,10 +368,12 @@ mn|SV*|PL_rs
ms||djSP
m|STRLEN|PAD_COMPNAME_GEN|PADOFFSET po
m|STRLEN|PAD_COMPNAME_GEN_set|PADOFFSET po|int gen
+m|struct refcounted_he *|refcounted_he_new_pvs|struct refcounted_he *parent|const char *key|SV *value|U32 flags
m|SV *|CX_CURPAD_SV|struct context|PADOFFSET po
m|SV *|PAD_BASE_SV |PADLIST padlist|PADOFFSET po
m|SV *|PAD_SETSV |PADOFFSET po|SV* sv
m|SV *|PAD_SVl |PADOFFSET po
+m|SV *|refcounted_he_fetch_pvs|const struct refcounted_he *chain|const char *key|U32 flags
m|U32|PAD_COMPNAME_FLAGS|PADOFFSET po
mU||LVRET
m|void|CX_CURPAD_SAVE|struct context
@@ -328,3 +388,6 @@ m|void|PAD_SV |PADOFFSET po
m|void|SAVECLEARSV |SV **svp
m|void|SAVECOMPPAD
m|void|SAVEPADSV |PADOFFSET po
+mx|U32|BhkFLAGS|BHK *hk
+mx|void *|BhkENTRY|BHK *hk|which
+mx|void|CALL_BLOCK_HOOKS|which|arg
diff --git a/cpan/Devel-PPPort/parts/base/5004000 b/cpan/Devel-PPPort/parts/base/5004000
index 5350285413..c16c360b8b 100644
--- a/cpan/Devel-PPPort/parts/base/5004000
+++ b/cpan/Devel-PPPort/parts/base/5004000
@@ -24,7 +24,7 @@ XPUSHu # U
block_gimme # E
call_list # E
cv_const_sv # E
-delimcpy # E
+delimcpy # U
do_open # E (Perl_do_open)
gv_autoload4 # E
gv_efullname3 # U
@@ -39,7 +39,7 @@ hv_free_ent # E
hv_iterkeysv # E
hv_ksplit # E
hv_store_ent # U
-ibcmp_locale # E
+ibcmp_locale # U
my_failure_exit # E
my_memcmp # U
my_pclose # E (Perl_my_pclose)
diff --git a/cpan/Devel-PPPort/parts/base/5004050 b/cpan/Devel-PPPort/parts/base/5004050
index f0e0456422..82fdcf0fd5 100644
--- a/cpan/Devel-PPPort/parts/base/5004050
+++ b/cpan/Devel-PPPort/parts/base/5004050
@@ -7,7 +7,7 @@ SvGETMAGIC # U
do_binmode # E
newCONSTSUB # E
newSVpvn # E
-save_aelem # E
+save_aelem # U
save_helem # U
sv_catpv_mg # E
sv_catpvn_mg # U
@@ -31,8 +31,6 @@ PL_dirty # added by devel/scanprov
PL_errgv # added by devel/scanprov
PL_perl_destruct_level # added by devel/scanprov
PL_perldb # added by devel/scanprov
-PL_rsfp # added by devel/scanprov
-PL_rsfp_filters # added by devel/scanprov
PL_stack_base # added by devel/scanprov
PL_stack_sp # added by devel/scanprov
PL_stdingv # added by devel/scanprov
diff --git a/cpan/Devel-PPPort/parts/base/5005000 b/cpan/Devel-PPPort/parts/base/5005000
index 1f2bf06332..c41e3bb50a 100644
--- a/cpan/Devel-PPPort/parts/base/5005000
+++ b/cpan/Devel-PPPort/parts/base/5005000
@@ -18,6 +18,7 @@ regnext # E (Perl_regnext)
runops_debug # E
runops_standard # E
save_iv # E (save_iv)
+save_op # U
screaminstr # E (Perl_screaminstr)
sv_iv # E
sv_peek # U
diff --git a/cpan/Devel-PPPort/parts/base/5006000 b/cpan/Devel-PPPort/parts/base/5006000
index 924da63a68..5c665b29a7 100644
--- a/cpan/Devel-PPPort/parts/base/5006000
+++ b/cpan/Devel-PPPort/parts/base/5006000
@@ -66,10 +66,10 @@ get_sv # E (perl_get_sv)
gv_dump # E
init_i18nl10n # E (perl_init_i18nl10n)
init_i18nl14n # E (perl_init_i18nl14n)
+isASCII # U
+isXDIGIT # U
is_uni_alnum # E
is_uni_alnum_lc # E
-is_uni_alnumc # E
-is_uni_alnumc_lc # E
is_uni_alpha # E
is_uni_alpha_lc # E
is_uni_ascii # E
@@ -95,10 +95,9 @@ is_uni_upper_lc # E
is_uni_xdigit # E
is_uni_xdigit_lc # E
is_utf8_alnum # E
-is_utf8_alnumc # E
is_utf8_alpha # E
is_utf8_ascii # E
-is_utf8_char # E
+is_utf8_char # U
is_utf8_cntrl # E
is_utf8_digit # E
is_utf8_graph # E
@@ -150,7 +149,6 @@ set_numeric_local # E (perl_set_numeric_local)
set_numeric_radix # E
set_numeric_standard # E (perl_set_numeric_standard)
str_to_version # E
-sv_2nv # E (Perl_sv_2nv)
sv_2pv_nolen # U
sv_2pvbyte # E
sv_2pvbyte_nolen # U
@@ -286,10 +284,8 @@ dTHXa # added by devel/scanprov
dTHXoa # added by devel/scanprov
dXSTARG # added by devel/scanprov
isALNUMC # added by devel/scanprov
-isASCII # added by devel/scanprov
isCNTRL # added by devel/scanprov
isGRAPH # added by devel/scanprov
isPUNCT # added by devel/scanprov
-isXDIGIT # added by devel/scanprov
pTHX # added by devel/scanprov
pTHX_ # added by devel/scanprov
diff --git a/cpan/Devel-PPPort/parts/base/5007003 b/cpan/Devel-PPPort/parts/base/5007003
index 325f06ad93..c7a8770186 100644
--- a/cpan/Devel-PPPort/parts/base/5007003
+++ b/cpan/Devel-PPPort/parts/base/5007003
@@ -1,4 +1,7 @@
5.007003
+OP_DESC # U
+OP_NAME # U
+PL_peepp # E
PerlIO_clearerr # U (PerlIO_clearerr)
PerlIO_close # U (PerlIO_close)
PerlIO_eof # U (PerlIO_eof)
diff --git a/cpan/Devel-PPPort/parts/base/5008009 b/cpan/Devel-PPPort/parts/base/5008009
new file mode 100644
index 0000000000..129e018f45
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5008009
@@ -0,0 +1 @@
+5.008009
diff --git a/cpan/Devel-PPPort/parts/base/5009003 b/cpan/Devel-PPPort/parts/base/5009003
index 23060550f0..15499c63bd 100644
--- a/cpan/Devel-PPPort/parts/base/5009003
+++ b/cpan/Devel-PPPort/parts/base/5009003
@@ -31,7 +31,6 @@ newSVhek # U
newSVpvs # U
newSVpvs_share # U
newWHENOP # U
-newWHILEOP # E (Perl_newWHILEOP)
savepvs # U
sortsv_flags # U
sv_catpvs # U
diff --git a/cpan/Devel-PPPort/parts/base/5009004 b/cpan/Devel-PPPort/parts/base/5009004
index 2f88d2a2ff..fa236f0366 100644
--- a/cpan/Devel-PPPort/parts/base/5009004
+++ b/cpan/Devel-PPPort/parts/base/5009004
@@ -11,6 +11,7 @@ SvREFCNT_inc_simple_void_NN # U
SvREFCNT_inc_void # U
SvREFCNT_inc_void_NN # U
gv_name_set # U
+hv_copy_hints_hv # U
hv_stores # U
my_snprintf # U
my_strlcat # U
diff --git a/cpan/Devel-PPPort/parts/base/5009005 b/cpan/Devel-PPPort/parts/base/5009005
index 68ceff2b01..de29b9f8be 100644
--- a/cpan/Devel-PPPort/parts/base/5009005
+++ b/cpan/Devel-PPPort/parts/base/5009005
@@ -1,4 +1,5 @@
5.009005
+PL_parser # E
Perl_signbit # U
SvRX # U
SvRXOK # U
@@ -6,6 +7,7 @@ av_create_and_push # U
av_create_and_unshift_one # U
get_cvn_flags # U
gv_fetchfile_flags # U
+lex_start # E (Perl_lex_start)
mro_get_linear_isa # U
mro_method_changed_in # U
my_dirfd # U
@@ -30,6 +32,7 @@ savesharedpvn # U
scan_vstring # E (Perl_scan_vstring)
upg_version # E (Perl_upg_version)
PERL_PV_ESCAPE_RE # added by devel/scanprov
-PL_parser # added by devel/scanprov
SV_COW_SHARED_HASH_KEYS # added by devel/scanprov
SVfARG # added by devel/scanprov
+memEQs # added by devel/scanprov
+memNEs # added by devel/scanprov
diff --git a/cpan/Devel-PPPort/parts/base/5010001 b/cpan/Devel-PPPort/parts/base/5010001
new file mode 100644
index 0000000000..d6d0545bee
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5010001
@@ -0,0 +1,20 @@
+5.010001
+HeUTF8 # U
+croak_xs_usage # U
+mPUSHs # U
+mXPUSHs # U
+mro_get_from_name # U
+mro_get_private_data # U
+mro_register # U
+mro_set_mro # U
+mro_set_private_data # U
+newSVpvn_flags # U
+newSVpvn_utf8 # U
+newSVpvs_flags # U
+save_hints # U
+save_padsv_and_mortalize # U
+save_pushi32ptr # U
+save_pushptr # U
+save_pushptrptr # U
+sv_insert_flags # U
+DEFSV_set # added by devel/scanprov
diff --git a/cpan/Devel-PPPort/parts/base/5011000 b/cpan/Devel-PPPort/parts/base/5011000
index fe92c15d26..246315c1e3 100644
--- a/cpan/Devel-PPPort/parts/base/5011000
+++ b/cpan/Devel-PPPort/parts/base/5011000
@@ -1,52 +1,16 @@
5.011000
-HeUTF8 # U
-MULTICALL # E
-PERL_SYS_TERM # E
-POP_MULTICALL # E
-PUSH_MULTICALL # E
+Gv_AMupdate # E (Perl_Gv_AMupdate)
+PL_opfreehook # E
SvOOK_offset # U
av_iter_p # U
-croak_xs_usage # U
fetch_cop_label # U
+gv_add_by_type # U
gv_fetchmethod_flags # U
-hv_assert # U
-mPUSHs # U
-mXPUSHs # U
-mro_get_from_name # U
-mro_get_private_data # U
-mro_register # U
-mro_set_mro # U
-mro_set_private_data # U
-newSVpvn_flags # U
-newSVpvn_utf8 # U
-newSVpvs_flags # U
-pad_sv # U
+is_ascii_string # U
pregfree2 # U
-ref # U (Perl_ref)
save_adelete # U
+save_aelem_flags # U
+save_hdelete # U
save_helem_flags # U
-save_padsv_and_mortalize # U
-save_pushptr # U
-stashpv_hvname_match # U
-sv_insert_flags # U
-sv_magic_portable # U
sv_utf8_upgrade_flags_grow # U
-DEFSV_set # added by devel/scanprov
-PERL_BCDVERSION # added by devel/scanprov
-PERL_MAGIC_glob # added by devel/scanprov
-PERL_MAGIC_mutex # added by devel/scanprov
-PL_bufend # added by devel/scanprov
-PL_bufptr # added by devel/scanprov
-PL_copline # added by devel/scanprov
-PL_error_count # added by devel/scanprov
-PL_expect # added by devel/scanprov
-PL_in_my # added by devel/scanprov
-PL_in_my_stash # added by devel/scanprov
-PL_lex_state # added by devel/scanprov
-PL_lex_stuff # added by devel/scanprov
-PL_linestr # added by devel/scanprov
-PL_tokenbuf # added by devel/scanprov
-WARN_ASSERTIONS # added by devel/scanprov
-aTHXR # added by devel/scanprov
-aTHXR_ # added by devel/scanprov
-dTHXR # added by devel/scanprov
+get_cvs # added by devel/scanprov
diff --git a/cpan/Devel-PPPort/parts/base/5011001 b/cpan/Devel-PPPort/parts/base/5011001
new file mode 100644
index 0000000000..f42409363b
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5011001
@@ -0,0 +1,6 @@
+5.011001
+ck_warner # U
+ck_warner_d # U
+is_utf8_perl_space # U
+is_utf8_perl_word # U
+is_utf8_posix_digit # U
diff --git a/cpan/Devel-PPPort/parts/base/5011002 b/cpan/Devel-PPPort/parts/base/5011002
new file mode 100644
index 0000000000..4e66714450
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5011002
@@ -0,0 +1,14 @@
+5.011002
+PL_keyword_plugin # E
+lex_bufutf8 # U
+lex_discard_to # U
+lex_grow_linestr # U
+lex_next_chunk # U
+lex_peek_unichar # U
+lex_read_space # U
+lex_read_to # U
+lex_read_unichar # U
+lex_stuff_pvn # U
+lex_stuff_sv # U
+lex_unstuff # U
+pad_findmy # E (Perl_pad_findmy)
diff --git a/cpan/Devel-PPPort/parts/base/5011003 b/cpan/Devel-PPPort/parts/base/5011003
new file mode 100644
index 0000000000..3fd94ca1b6
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5011003
@@ -0,0 +1 @@
+5.011003
diff --git a/cpan/Devel-PPPort/parts/base/5011004 b/cpan/Devel-PPPort/parts/base/5011004
new file mode 100644
index 0000000000..86c1fce4f2
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5011004
@@ -0,0 +1,2 @@
+5.011004
+prescan_version # U
diff --git a/cpan/Devel-PPPort/parts/base/5011005 b/cpan/Devel-PPPort/parts/base/5011005
new file mode 100644
index 0000000000..d9b0d6a4c9
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5011005
@@ -0,0 +1,2 @@
+5.011005
+sv_pos_u2b_flags # U
diff --git a/cpan/Devel-PPPort/parts/base/5012000 b/cpan/Devel-PPPort/parts/base/5012000
new file mode 100644
index 0000000000..82cbce2d6d
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5012000
@@ -0,0 +1 @@
+5.012000
diff --git a/cpan/Devel-PPPort/parts/base/5012001 b/cpan/Devel-PPPort/parts/base/5012001
new file mode 100644
index 0000000000..90dc03fdf3
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5012001
@@ -0,0 +1 @@
+5.012001
diff --git a/cpan/Devel-PPPort/parts/base/5012002 b/cpan/Devel-PPPort/parts/base/5012002
new file mode 100644
index 0000000000..8ab87f08d8
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5012002
@@ -0,0 +1 @@
+5.012002
diff --git a/cpan/Devel-PPPort/parts/base/5012003 b/cpan/Devel-PPPort/parts/base/5012003
new file mode 100644
index 0000000000..f2abab4c17
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5012003
@@ -0,0 +1 @@
+5.012003
diff --git a/cpan/Devel-PPPort/parts/base/5013000 b/cpan/Devel-PPPort/parts/base/5013000
new file mode 100644
index 0000000000..f2f116d2fa
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5013000
@@ -0,0 +1 @@
+5.013000
diff --git a/cpan/Devel-PPPort/parts/base/5013001 b/cpan/Devel-PPPort/parts/base/5013001
new file mode 100644
index 0000000000..679bf3c35e
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5013001
@@ -0,0 +1,6 @@
+5.013001
+croak_sv # U
+die_sv # U
+mess_sv # U
+sv_2nv_flags # U
+warn_sv # U
diff --git a/cpan/Devel-PPPort/parts/base/5013002 b/cpan/Devel-PPPort/parts/base/5013002
new file mode 100644
index 0000000000..fa6d99b407
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5013002
@@ -0,0 +1,9 @@
+5.013002
+SvNV_nomg # U
+find_rundefsv # U
+foldEQ # U
+foldEQ_locale # U
+foldEQ_utf8 # U
+hv_fill # U
+sv_dec_nomg # U
+sv_inc_nomg # U
diff --git a/cpan/Devel-PPPort/parts/base/5013003 b/cpan/Devel-PPPort/parts/base/5013003
new file mode 100644
index 0000000000..5e04f03c8a
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5013003
@@ -0,0 +1,3 @@
+5.013003
+blockhook_register # E
+croak_no_modify # U
diff --git a/cpan/Devel-PPPort/parts/base/5013004 b/cpan/Devel-PPPort/parts/base/5013004
new file mode 100644
index 0000000000..20b0810cbe
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5013004
@@ -0,0 +1,2 @@
+5.013004
+XS_APIVERSION_BOOTCHECK # E
diff --git a/cpan/Devel-PPPort/parts/base/5013005 b/cpan/Devel-PPPort/parts/base/5013005
new file mode 100644
index 0000000000..88c7c7b80b
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5013005
@@ -0,0 +1,6 @@
+5.013005
+PL_rpeepp # E
+caller_cx # U
+isOCTAL # U
+lex_stuff_pvs # U
+parse_fullstmt # U
diff --git a/cpan/Devel-PPPort/parts/base/5013006 b/cpan/Devel-PPPort/parts/base/5013006
new file mode 100644
index 0000000000..9b7d2a0b2a
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5013006
@@ -0,0 +1,33 @@
+5.013006
+LINKLIST # U
+SvTRUE_nomg # U
+ck_entersub_args_list # U
+ck_entersub_args_proto # U
+ck_entersub_args_proto_or_list # U
+cv_get_call_checker # E
+cv_set_call_checker # E
+isWORDCHAR # U
+lex_stuff_pv # U
+mg_free_type # U
+newSVpv_share # U
+op_append_elem # U
+op_append_list # U
+op_contextualize # U
+op_linklist # U
+op_prepend_elem # U
+parse_stmtseq # U
+rv2cv_op_cv # U
+savesharedpvs # U
+savesharedsvpv # U
+sv_2bool_flags # U
+sv_catpv_flags # U
+sv_catpv_nomg # U
+sv_catpvs_flags # U
+sv_catpvs_mg # U
+sv_catpvs_nomg # U
+sv_cmp_flags # U
+sv_cmp_locale_flags # U
+sv_collxfrm_flags # U
+sv_eq_flags # U
+sv_setpvs_mg # U
+sv_setref_pvs # U
diff --git a/cpan/Devel-PPPort/parts/base/5013007 b/cpan/Devel-PPPort/parts/base/5013007
new file mode 100644
index 0000000000..79a9a5f44a
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5013007
@@ -0,0 +1,36 @@
+5.013007
+HvENAME # U
+OP_CLASS # U
+SvPV_nomg_nolen # U
+XopFLAGS # E
+amagic_deref_call # U
+bytes_cmp_utf8 # U
+cop_hints_2hv # A
+cop_hints_fetch_pv # U
+cop_hints_fetch_pvn # U
+cop_hints_fetch_pvs # U
+cop_hints_fetch_sv # U
+cophh_2hv # E
+cophh_copy # E
+cophh_delete_pv # E
+cophh_delete_pvn # E
+cophh_delete_pvs # E
+cophh_delete_sv # E
+cophh_fetch_pv # E
+cophh_fetch_pvn # E
+cophh_fetch_pvs # E
+cophh_fetch_sv # E
+cophh_free # E
+cophh_store_pv # E
+cophh_store_pvn # E
+cophh_store_pvs # E
+cophh_store_sv # E
+custom_op_register # E
+custom_op_xop # E
+newFOROP # A
+newWHILEOP # A
+op_lvalue # U
+op_scope # U
+parse_barestmt # U
+parse_block # U
+parse_label # U
diff --git a/cpan/Devel-PPPort/parts/base/5013008 b/cpan/Devel-PPPort/parts/base/5013008
new file mode 100644
index 0000000000..5c315d671b
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5013008
@@ -0,0 +1,8 @@
+5.013008
+foldEQ_latin1 # U
+mg_findext # U
+parse_arithexpr # U
+parse_fullexpr # U
+parse_listexpr # U
+parse_termexpr # U
+sv_unmagicext # U
diff --git a/cpan/Devel-PPPort/parts/base/5013009 b/cpan/Devel-PPPort/parts/base/5013009
new file mode 100644
index 0000000000..51160ae344
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5013009
@@ -0,0 +1 @@
+5.013009
diff --git a/cpan/Devel-PPPort/parts/base/5013010 b/cpan/Devel-PPPort/parts/base/5013010
new file mode 100644
index 0000000000..d7f4365bfb
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5013010
@@ -0,0 +1,4 @@
+5.013010
+foldEQ_utf8_flags # U
+is_utf8_xidcont # U
+is_utf8_xidfirst # U
diff --git a/cpan/Devel-PPPort/parts/base/5013011 b/cpan/Devel-PPPort/parts/base/5013011
new file mode 100644
index 0000000000..a33715f749
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5013011
@@ -0,0 +1 @@
+5.013011
diff --git a/cpan/Devel-PPPort/parts/base/5014000 b/cpan/Devel-PPPort/parts/base/5014000
new file mode 100644
index 0000000000..f348abe6f7
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/base/5014000
@@ -0,0 +1,38 @@
+5.014000
+BhkDISABLE # E
+BhkENABLE # E
+BhkENTRY_set # E
+MULTICALL # E
+PERL_SYS_TERM # E
+POP_MULTICALL # E
+PUSH_MULTICALL # E
+XopDISABLE # E
+XopENABLE # E
+XopENTRY # E
+XopENTRY_set # E
+cophh_new_empty # E
+my_lstat # U (Perl_my_lstat)
+my_stat # U (Perl_my_stat)
+ref # U (Perl_ref)
+stashpv_hvname_match # U
+sv_magic_portable # U
+PERL_BCDVERSION # added by devel/scanprov
+PERL_MAGIC_glob # added by devel/scanprov
+PERL_MAGIC_mutex # added by devel/scanprov
+PL_bufend # added by devel/scanprov
+PL_bufptr # added by devel/scanprov
+PL_copline # added by devel/scanprov
+PL_error_count # added by devel/scanprov
+PL_expect # added by devel/scanprov
+PL_in_my # added by devel/scanprov
+PL_in_my_stash # added by devel/scanprov
+PL_lex_state # added by devel/scanprov
+PL_lex_stuff # added by devel/scanprov
+PL_linestr # added by devel/scanprov
+PL_rsfp # added by devel/scanprov
+PL_rsfp_filters # added by devel/scanprov
+PL_tokenbuf # added by devel/scanprov
+WARN_ASSERTIONS # added by devel/scanprov
+aTHXR # added by devel/scanprov
+aTHXR_ # added by devel/scanprov
+dTHXR # added by devel/scanprov
diff --git a/cpan/Devel-PPPort/parts/embed.fnc b/cpan/Devel-PPPort/parts/embed.fnc
index 68f38171c7..b891b43427 100644
--- a/cpan/Devel-PPPort/parts/embed.fnc
+++ b/cpan/Devel-PPPort/parts/embed.fnc
@@ -1,4 +1,6 @@
-: BEGIN {die "You meant to run embed.pl"} # Stop early if fed to perl.
+: BEGIN{die "You meant to run regen/embed.pl"} # Stop early if fed to perl.
+:
+: This file is processed by regen/embed.pl and autodoc.pl
:
: Lines are of the form:
: flags|return_type|function_name|arg1|arg2|...|argN
@@ -7,29 +9,110 @@
: Leading and trailing whitespace will be ignored in each component.
:
: flags are single letters with following meanings:
-: A member of public API
-: m Implemented as a macro - no export, no
-: proto, no #define
-: d function has documentation with its source
-: s static function, should have an S_ prefix in
-: source file; for macros (m), suffix the usage
-: example with a semicolon
-: n has no implicit interpreter/thread context argument
-: p function has a Perl_ prefix
-: f function takes printf style format string, varargs
-: r function never returns
-: o has no compatibility macro (#define foo Perl_foo)
-: x not exported
-: X explicitly exported
-: M may change
-: E visible to extensions included in the Perl core
-: b binary backward compatibility; function is a macro
-: but has also Perl_ implementation (which is exported)
-: U suppress usage example in autogenerated documentation
-: a allocates memory a la malloc/calloc. Is also "R".
-: R Return value must not be ignored.
-: P pure function: no effects except the return value;
-: return value depends only on parms and/or globals
+:
+: A Member of public API:
+:
+: add entry to global.sym (unless x or m);
+: any doc entry goes in perlapi.pod rather than perlintern.pod
+: makes '#define foo Perl_foo' scope not just for PERL_CORE/PERL_EXT
+:
+: a Allocates memory a la malloc/calloc. Also implies "R":
+:
+: proto.h: add __attribute__malloc__
+:
+: b Binary backward compatibility; function is a macro
+: but has also Perl_ implementation (which is exported):
+:
+: add entry to global.sym;
+: don't define PERL_ARGS_ASSERT_FOO
+:
+: D Function is deprecated:
+:
+: proto.h: add __attribute__deprecated__
+:
+: d Function has documentation with its source:
+:
+: enables 'no docs for foo" warning in autodoc.pl
+:
+: E Visible to extensions included in the Perl core:
+:
+: in embed.h, change "#ifdef PERL_CORE"
+: into "#if defined(PERL_CORE) || defined(PERL_EXT)"
+:
+: Should always be combined with "X" to be usable from dynamically
+: loaded extensions.
+:
+: f Function takes printf style format string, varargs:
+:
+: proto.h: add __attribute__format__ (or ...null_ok__)
+:
+: i Static inline: function in source code has a S_ prefix:
+:
+: proto.h: function is declared as S_foo rather than foo,
+: PERL_STATIC_INLINE is added to declaration;
+: embed.h: "#define foo S_foo" entries added
+:
+: M May change:
+:
+: any doc entry is marked that function may change
+:
+: m Implemented as a macro:
+:
+: suppress proto.h entry
+: suppress global.sym entry
+: suppress embed.h entry
+:
+: n Has no implicit interpreter/thread context argument:
+:
+: suppress the pTHX part of "foo(pTHX...)" in proto.h;
+: In the PERL_IMPLICIT_SYS branch of embed.h, generates
+: "#define foo Perl_foo", rather than
+: "#define foo(a,b,c) Perl_foo(aTHX_ a,b,c)
+:
+: O Has a perl_ compatibility macro.
+:
+: The really OLD name for API funcs
+:
+: o Has no Perl_foo compatibility macro:
+:
+: embed.h: suppress "#define foo Perl_foo"
+:
+: P Pure function: no effects except the return value;
+: return value depends only on params and/or globals:
+:
+: proto.h: add __attribute__pure__
+:
+: p Function in source code has a Perl_ prefix:
+:
+: proto.h: function is declared as Perl_foo rather than foo
+: embed.h: "#define foo Perl_foo" entries added
+:
+: R Return value must not be ignored (also implied by 'a' flag):
+:
+: proto.h: add __attribute__warn_unused_result__
+:
+: r Function never returns:
+:
+: proto.h: add __attribute__noreturn__
+:
+: s Static function: function in source code has a S_ prefix:
+:
+: proto.h: function is declared as S_foo rather than foo,
+: STATIC is added to declaration;
+: embed.h: "#define foo S_foo" entries added
+:
+: U Suppress usage example in autogenerated documentation
+:
+: (currently no effect)
+:
+: X Explicitly exported:
+:
+: add entry to global.sym, unless x or m
+:
+: x Not exported
+:
+: suppress entry in global.sym
+:
: (see also L<perlguts/Internal Functions> for those flags.)
:
: Pointer parameters that must not be passed NULLs should be prefixed with NN.
@@ -41,8 +124,6 @@
:
: Individual flags may be separated by whitespace.
-START_EXTERN_C
-
#if defined(PERL_IMPLICIT_SYS)
Ano |PerlInterpreter*|perl_alloc_using \
|NN struct IPerlMem *ipM \
@@ -93,18 +174,16 @@ npR |MEM_SIZE|malloc_good_size |size_t nbytes
AnpR |void* |get_context
Anp |void |set_context |NN void *t
-END_EXTERN_C
-
-/* functions with flag 'n' should come before here */
-START_EXTERN_C
-# include "pp_proto.h"
+XEop |bool |try_amagic_bin |int method|int flags
+XEop |bool |try_amagic_un |int method|int flags
Ap |SV* |amagic_call |NN SV* left|NN SV* right|int method|int dir
-Ap |bool |Gv_AMupdate |NN HV* stash
+Ap |SV * |amagic_deref_call|NN SV *ref|int method
+Ap |int |Gv_AMupdate |NN HV* stash|bool destructing
ApR |CV* |gv_handler |NULLOK HV* stash|I32 id
-: Used in perly.y
-p |OP* |append_elem |I32 optype|NULLOK OP* first|NULLOK OP* last
-: Used in perly.y
-p |OP* |append_list |I32 optype|NULLOK LISTOP* first|NULLOK LISTOP* last
+Apd |OP* |op_append_elem |I32 optype|NULLOK OP* first|NULLOK OP* last
+Apd |OP* |op_append_list |I32 optype|NULLOK OP* first|NULLOK OP* last
+Apd |OP* |op_linklist |NN OP *o
+Apd |OP* |op_prepend_elem|I32 optype|NULLOK OP* first|NULLOK OP* last
: FIXME - this is only called by pp_chown. They should be merged.
p |I32 |apply |I32 type|NN SV** mark|NN SV** sp
ApM |void |apply_attrs_string|NN const char *stashpv|NN CV *cv|NN const char *attrstr|STRLEN len
@@ -128,7 +207,7 @@ ApdoxM |SV** |av_create_and_unshift_one|NN AV **const avp|NN SV *const val
Apd |void |av_unshift |NN AV *av|I32 num
Apo |SV** |av_arylen_p |NN AV *av
Apo |IV* |av_iter_p |NN AV *av
-#if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_AV_C)
s |MAGIC* |get_aux_mg |NN AV *av
#endif
: Used in perly.y
@@ -138,12 +217,15 @@ pR |OP* |block_end |I32 floor|NULLOK OP* seq
ApR |I32 |block_gimme
: Used in perly.y
pR |int |block_start |int full
+Aodp |void |blockhook_register |NN BHK *hk
: Used in perl.c
p |void |boot_core_UNIVERSAL
: Used in perl.c
p |void |boot_core_PerlIO
Ap |void |call_list |I32 oldscope|NN AV *paramList
-: Used in serveral source files
+Apd |const PERL_CONTEXT * |caller_cx|I32 level \
+ |NULLOK const PERL_CONTEXT **dbcxp
+: Used in several source files
pR |bool |cando |Mode_t mode|bool effective|NN const Stat_t* statbufp
ApR |U32 |cast_ulong |NV f
ApR |I32 |cast_i32 |NV f
@@ -156,15 +238,17 @@ ApR |I32 |my_chsize |int fd|Off_t length
pR |OP* |convert |I32 optype|I32 flags|NULLOK OP* o
: Used in op.c and perl.c
pM |PERL_CONTEXT* |create_eval_scope|U32 flags
+Aprd |void |croak_sv |NN SV *baseex
: croak()'s first parm can be NULL. Otherwise, mod_perl breaks.
Afprd |void |croak |NULLOK const char* pat|...
-Apr |void |vcroak |NULLOK const char* pat|NULLOK va_list* args
+Aprd |void |vcroak |NULLOK const char* pat|NULLOK va_list* args
+Aprd |void |croak_no_modify
Aprd |void |croak_xs_usage |NN const CV *const cv \
|NN const char *const params
#if defined(PERL_IMPLICIT_CONTEXT)
Afnrp |void |croak_nocontext|NULLOK const char* pat|...
-Afnp |OP* |die_nocontext |NN const char* pat|...
+Afnp |OP* |die_nocontext |NULLOK const char* pat|...
Afnp |void |deb_nocontext |NN const char* pat|...
Afnp |char* |form_nocontext |NN const char* pat|...
Anp |void |load_module_nocontext|U32 flags|NN SV* name|NULLOK SV* ver|...
@@ -201,27 +285,21 @@ pPR |const char* |get_no_modify
pPR |U32* |get_opargs
ApPR |PPADDR_t*|get_ppaddr
: Used by CXINC, which appears to be in widespread use
-EXpR |I32 |cxinc
+ApR |I32 |cxinc
Afp |void |deb |NN const char* pat|...
Ap |void |vdeb |NN const char* pat|NULLOK va_list* args
Ap |void |debprofdump
Ap |I32 |debop |NN const OP* o
Ap |I32 |debstack
Ap |I32 |debstackptrs
-Ap |char* |delimcpy |NN char* to|NN const char* toend|NN const char* from \
+Anp |char* |delimcpy |NN char* to|NN const char* toend|NN const char* from \
|NN const char* fromend|int delim|NN I32* retlen
: Used in op.c, perl.c
pM |void |delete_eval_scope
-: Used in various files
-p |void |deprecate |NN const char *const s
-: Used in various files
-p |void |deprecate_old |NN const char *const s
-Afp |OP* |die |NULLOK const char* pat|...
-#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
-s |OP* |vdie |NULLOK const char* pat|NULLOK va_list* args
-#endif
+Apd |OP* |die_sv |NN SV *baseex
+Afpd |OP* |die |NULLOK const char* pat|...
: Used in util.c
-p |OP* |die_where |NULLOK const char* message|STRLEN msglen
+pr |void |die_unwind |NN SV* msv
Ap |void |dounwind |I32 cxix
: FIXME
pmb |bool |do_aexec |NULLOK SV* really|NN SV** mark|NN SV** sp
@@ -229,7 +307,6 @@ pmb |bool |do_aexec |NULLOK SV* really|NN SV** mark|NN SV** sp
p |bool |do_aexec5 |NULLOK SV* really|NN SV** mark|NN SV** sp|int fd|int do_report
Ap |int |do_binmode |NN PerlIO *fp|int iotype|int mode
: Used in pp.c
-p |void |do_chop |NN SV *astr|NN SV *sv
Ap |bool |do_close |NULLOK GV* gv|bool not_implicit
: Defined in doio.c, used only in pp_sys.c
p |bool |do_eof |NN GV* gv
@@ -249,7 +326,7 @@ Ap |int |do_spawn_nowait|NN char* cmd
p |bool |do_exec3 |NN const char *incmd|int fd|int do_report
#endif
p |void |do_execfree
-#if defined(PERL_IN_DOIO_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_DOIO_C)
s |void |exec_failed |NN const char *cmd|int fd|int do_report
#endif
#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
@@ -267,8 +344,8 @@ p |I32 |do_semop |NN SV** mark|NN SV** sp
p |I32 |do_shmio |I32 optype|NN SV** mark|NN SV** sp
#endif
Ap |void |do_join |NN SV *sv|NN SV *delim|NN SV **mark|NN SV **sp
-: Used in pp.c and pp_hot.c
-p |OP* |do_kv
+: Used in pp.c and pp_hot.c, prototype generated by regen/opcode.pl
+: p |OP* |do_kv
Apmb |bool |do_open |NN GV* gv|NN const char* name|I32 len|int as_raw \
|int rawmode|int rawperm|NULLOK PerlIO* supplied_fp
Ap |bool |do_open9 |NN GV *gv|NN const char *name|I32 len|int as_raw \
@@ -282,8 +359,6 @@ Ap |bool |do_openn |NN GV *gv|NN const char *oname|I32 len \
p |bool |do_print |NULLOK SV* sv|NN PerlIO* fp
: Used in pp_sys.c
pR |OP* |do_readline
-: Used in pp.c
-p |I32 |do_chomp |NN SV* sv
: Defined in doio.c, used only in pp_sys.c
p |bool |do_seek |NULLOK GV* gv|Off_t pos|int whence
Ap |void |do_sprintf |NN SV* sv|I32 len|NN SV** sarg
@@ -303,6 +378,7 @@ p |void |do_vop |I32 optype|NN SV* sv|NN SV* left|NN SV* right
p |OP* |dofile |NN OP* term|I32 force_builtin
ApR |I32 |dowantarray
Ap |void |dump_all
+p |void |dump_all_perl |bool justperl
Ap |void |dump_eval
#if defined(DUMP_FDS)
Ap |void |dump_fds |NN char* s
@@ -312,14 +388,16 @@ Ap |void |gv_dump |NN GV* gv
Ap |void |op_dump |NN const OP *o
Ap |void |pmop_dump |NULLOK PMOP* pm
Ap |void |dump_packsubs |NN const HV* stash
+p |void |dump_packsubs_perl |NN const HV* stash|bool justperl
Ap |void |dump_sub |NN const GV* gv
+p |void |dump_sub_perl |NN const GV* gv|bool justperl
Apd |void |fbm_compile |NN SV* sv|U32 flags
ApdR |char* |fbm_instr |NN unsigned char* big|NN unsigned char* bigend \
|NN SV* littlestr|U32 flags
: Defined in util.c, used only in perl.c
p |char* |find_script |NN const char *scriptname|bool dosearch \
|NULLOK const char *const *const search_ext|I32 flags
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_OP_C)
s |OP* |force_list |NULLOK OP* arg
: FIXME
s |OP* |fold_constants |NN OP *o
@@ -327,7 +405,7 @@ s |OP* |fold_constants |NN OP *o
Afpd |char* |form |NN const char* pat|...
Ap |char* |vform |NN const char* pat|NULLOK va_list* args
Ap |void |free_tmps
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_OP_C)
s |OP* |gen_constant_list|NULLOK OP* o
#endif
#if !defined(HAS_GETENV_LEN)
@@ -338,9 +416,10 @@ p |char* |getenv_len |NN const char *env_elem|NN unsigned long *len
pox |void |get_db_sub |NULLOK SV **svp|NN CV *cv
Ap |void |gp_free |NULLOK GV* gv
Ap |GP* |gp_ref |NULLOK GP* gp
-Ap |GV* |gv_AVadd |NN GV* gv
-Ap |GV* |gv_HVadd |NN GV* gv
-Ap |GV* |gv_IOadd |NN GV* gv
+Ap |GV* |gv_add_by_type |NULLOK GV *gv|svtype type
+Apmb |GV* |gv_AVadd |NULLOK GV *gv
+Apmb |GV* |gv_HVadd |NULLOK GV *gv
+Apmb |GV* |gv_IOadd |NULLOK GV* gv
ApR |GV* |gv_autoload4 |NULLOK HV* stash|NN const char* name|STRLEN len|I32 method
Ap |void |gv_check |NN const HV* stash
Ap |void |gv_efullname |NN SV* sv|NN const GV* gv
@@ -354,7 +433,7 @@ Apd |GV* |gv_fetchmeth_autoload |NULLOK HV* stash|NN const char* name|STRLEN len
Apdmb |GV* |gv_fetchmethod |NN HV* stash|NN const char* name
Apd |GV* |gv_fetchmethod_autoload|NN HV* stash|NN const char* name \
|I32 autoload
-ApdM |GV* |gv_fetchmethod_flags|NN HV* stash|NN const char* name \
+ApM |GV* |gv_fetchmethod_flags|NN HV* stash|NN const char* name \
|U32 flags
Ap |GV* |gv_fetchpv |NN const char *nambeg|I32 add|const svtype sv_type
Ap |void |gv_fullname |NN SV* sv|NN const GV* gv
@@ -362,14 +441,17 @@ Apmb |void |gv_fullname3 |NN SV* sv|NN const GV* gv|NULLOK const char* prefix
Ap |void |gv_fullname4 |NN SV* sv|NN const GV* gv|NULLOK const char* prefix|bool keepmain
: Used in scope.c
pMox |GP * |newGP |NN GV *const gv
+pX |void |cvgv_set |NN CV* cv|NULLOK GV* gv
+pX |void |cvstash_set |NN CV* cv|NULLOK HV* stash
Ap |void |gv_init |NN GV* gv|NULLOK HV* stash|NN const char* name|STRLEN len|int multi
Ap |void |gv_name_set |NN GV* gv|NN const char *name|U32 len|U32 flags
+XMpd |void |gv_try_downgrade|NN GV* gv
Apd |HV* |gv_stashpv |NN const char* name|I32 flags
Apd |HV* |gv_stashpvn |NN const char* name|U32 namelen|I32 flags
Apd |HV* |gv_stashsv |NN SV* sv|I32 flags
Apd |void |hv_clear |NULLOK HV *hv
: used in SAVEHINTS() and op.c
-poM |HV * |hv_copy_hints_hv|NULLOK HV *const ohv
+ApdR |HV * |hv_copy_hints_hv|NULLOK HV *const ohv
Ap |void |hv_delayfree_ent|NN HV *hv|NULLOK HE *entry
Abmd |SV* |hv_delete |NULLOK HV *hv|NN const char *key|I32 klen \
|I32 flags
@@ -385,6 +467,7 @@ Ap |void* |hv_common |NULLOK HV *hv|NULLOK SV *keysv \
Ap |void* |hv_common_key_len|NULLOK HV *hv|NN const char *key \
|I32 klen_i32|const int action|NULLOK SV *val \
|const U32 hash
+Apod |STRLEN |hv_fill |NN HV const *const hv
Ap |void |hv_free_ent |NN HV *hv|NULLOK HE *entryK
Apd |I32 |hv_iterinit |NN HV *hv
ApdR |char* |hv_iterkey |NN HE* entry|NN I32* retlen
@@ -395,50 +478,66 @@ ApMdR |HE* |hv_iternext_flags|NN HV *hv|I32 flags
ApdR |SV* |hv_iterval |NN HV *hv|NN HE *entry
Ap |void |hv_ksplit |NN HV *hv|IV newmax
Apdbm |void |hv_magic |NN HV *hv|NULLOK GV *gv|int how
-: Used in B.xs
-XEdpoM |HV * |refcounted_he_chain_2hv|NULLOK const struct refcounted_he *c
-: Used in APItest.xs
-XEpoM |SV * |refcounted_he_fetch|NULLOK const struct refcounted_he *chain \
- |NULLOK SV *keysv|NULLOK const char *key \
- |STRLEN klen, int flags, U32 hash
-: Used in various files
-dpoM |void |refcounted_he_free|NULLOK struct refcounted_he *he
-: Used in various files
-XEdpoM |struct refcounted_he *|refcounted_he_new \
- |NULLOK struct refcounted_he *const parent \
- |NULLOK SV *const key|NULLOK SV *const value
-#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT)
-s |struct refcounted_he * |refcounted_he_new_common \
- |NULLOK struct refcounted_he *const parent \
- |NN const char *const key_p \
- |const STRLEN key_len|const char flags \
- |char value_type|NN const void *value \
- |const STRLEN value_len
-#endif
+#if defined(PERL_IN_HV_C)
+s |SV * |refcounted_he_value |NN const struct refcounted_he *he
+#endif
+Xpd |HV * |refcounted_he_chain_2hv|NULLOK const struct refcounted_he *c|U32 flags
+Xpd |SV * |refcounted_he_fetch_pvn|NULLOK const struct refcounted_he *chain \
+ |NN const char *keypv|STRLEN keylen|U32 hash|U32 flags
+Xpd |SV * |refcounted_he_fetch_pv|NULLOK const struct refcounted_he *chain \
+ |NN const char *key|U32 hash|U32 flags
+Xpd |SV * |refcounted_he_fetch_sv|NULLOK const struct refcounted_he *chain \
+ |NN SV *key|U32 hash|U32 flags
+Xpd |struct refcounted_he *|refcounted_he_new_pvn \
+ |NULLOK struct refcounted_he *parent \
+ |NN const char *keypv|STRLEN keylen \
+ |U32 hash|NULLOK SV *value|U32 flags
+Xpd |struct refcounted_he *|refcounted_he_new_pv \
+ |NULLOK struct refcounted_he *parent \
+ |NN const char *key \
+ |U32 hash|NULLOK SV *value|U32 flags
+Xpd |struct refcounted_he *|refcounted_he_new_sv \
+ |NULLOK struct refcounted_he *parent \
+ |NN SV *key \
+ |U32 hash|NULLOK SV *value|U32 flags
+Xpd |void |refcounted_he_free|NULLOK struct refcounted_he *he
+Xpd |struct refcounted_he *|refcounted_he_inc|NULLOK struct refcounted_he *he
Abmd |SV** |hv_store |NULLOK HV *hv|NULLOK const char *key \
|I32 klen|NULLOK SV *val|U32 hash
Abmd |HE* |hv_store_ent |NULLOK HV *hv|NULLOK SV *key|NULLOK SV *val\
|U32 hash
-AbmdM |SV** |hv_store_flags |NULLOK HV *hv|NULLOK const char *key \
+AbmM |SV** |hv_store_flags |NULLOK HV *hv|NULLOK const char *key \
|I32 klen|NULLOK SV *val|U32 hash|int flags
-Apd |void |hv_undef |NULLOK HV *hv
-ApP |I32 |ibcmp |NN const char* a|NN const char* b|I32 len
-ApP |I32 |ibcmp_locale |NN const char* a|NN const char* b|I32 len
-Apd |I32 |ibcmp_utf8 |NN const char *s1|NULLOK char **pe1|UV l1 \
+Amd |void |hv_undef |NULLOK HV *hv
+poX |void |hv_undef_flags |NULLOK HV *hv|U32 flags
+Am |I32 |ibcmp |NN const char* a|NN const char* b|I32 len
+AnpP |I32 |foldEQ |NN const char* a|NN const char* b|I32 len
+Am |I32 |ibcmp_locale |NN const char* a|NN const char* b|I32 len
+AnpP |I32 |foldEQ_locale |NN const char* a|NN const char* b|I32 len
+Am |I32 |ibcmp_utf8 |NN const char *s1|NULLOK char **pe1|UV l1 \
+ |bool u1|NN const char *s2|NULLOK char **pe2 \
+ |UV l2|bool u2
+Amd |I32 |foldEQ_utf8 |NN const char *s1|NULLOK char **pe1|UV l1 \
|bool u1|NN const char *s2|NULLOK char **pe2 \
|UV l2|bool u2
-#if defined(PERL_IN_DOIO_C) || defined(PERL_DECL_PROT)
+AMp |I32 |foldEQ_utf8_flags |NN const char *s1|NULLOK char **pe1|UV l1 \
+ |bool u1|NN const char *s2|NULLOK char **pe2 \
+ |UV l2|bool u2|U32 flags
+AnpP |I32 |foldEQ_latin1 |NN const char* a|NN const char* b|I32 len
+#if defined(PERL_IN_DOIO_C)
sR |bool |ingroup |Gid_t testgid|bool effective
#endif
: Used in toke.c
p |void |init_argv_symbols|int argc|NN char **argv
+: Used in pp_ctl.c
+po |void |init_dbargs
: Used in mg.c
p |void |init_debugger
Ap |void |init_stacks
Ap |void |init_tm |NN struct tm *ptm
: Used in perly.y
pd |U32 |intro_my
-ApPR |char* |instr |NN const char* big|NN const char* little
+AnpPR |char* |instr |NN const char* big|NN const char* little
: Used in sv.c
p |bool |io_close |NN IO* io|bool not_implicit
: Used in perly.y
@@ -448,7 +547,6 @@ ApPR |U32 |to_uni_upper_lc|U32 c
ApPR |U32 |to_uni_title_lc|U32 c
ApPR |U32 |to_uni_lower_lc|U32 c
ApPR |bool |is_uni_alnum |UV c
-ApPR |bool |is_uni_alnumc |UV c
ApPR |bool |is_uni_idfirst |UV c
ApPR |bool |is_uni_alpha |UV c
ApPR |bool |is_uni_ascii |UV c
@@ -466,7 +564,6 @@ Ap |UV |to_uni_title |UV c|NN U8 *p|NN STRLEN *lenp
Ap |UV |to_uni_lower |UV c|NN U8 *p|NN STRLEN *lenp
Ap |UV |to_uni_fold |UV c|NN U8 *p|NN STRLEN *lenp
ApPR |bool |is_uni_alnum_lc|UV c
-ApPR |bool |is_uni_alnumc_lc|UV c
ApPR |bool |is_uni_idfirst_lc|UV c
ApPR |bool |is_uni_alpha_lc|UV c
ApPR |bool |is_uni_ascii_lc|UV c
@@ -479,19 +576,24 @@ ApPR |bool |is_uni_lower_lc|UV c
ApPR |bool |is_uni_print_lc|UV c
ApPR |bool |is_uni_punct_lc|UV c
ApPR |bool |is_uni_xdigit_lc|UV c
-Apd |STRLEN |is_utf8_char |NN const U8 *s
-Apd |bool |is_utf8_string |NN const U8 *s|STRLEN len
-Apdmb |bool |is_utf8_string_loc|NN const U8 *s|STRLEN len|NULLOK const U8 **p
-Apd |bool |is_utf8_string_loclen|NN const U8 *s|STRLEN len|NULLOK const U8 **ep|NULLOK STRLEN *el
+Anpd |bool |is_ascii_string|NN const U8 *s|STRLEN len
+Anpd |STRLEN |is_utf8_char |NN const U8 *s
+Anpd |bool |is_utf8_string |NN const U8 *s|STRLEN len
+Anpdmb |bool |is_utf8_string_loc|NN const U8 *s|STRLEN len|NULLOK const U8 **p
+Anpd |bool |is_utf8_string_loclen|NN const U8 *s|STRLEN len|NULLOK const U8 **ep|NULLOK STRLEN *el
ApR |bool |is_utf8_alnum |NN const U8 *p
-ApR |bool |is_utf8_alnumc |NN const U8 *p
ApR |bool |is_utf8_idfirst|NN const U8 *p
+ApR |bool |is_utf8_xidfirst|NN const U8 *p
ApR |bool |is_utf8_idcont |NN const U8 *p
+ApR |bool |is_utf8_xidcont |NN const U8 *p
ApR |bool |is_utf8_alpha |NN const U8 *p
ApR |bool |is_utf8_ascii |NN const U8 *p
ApR |bool |is_utf8_space |NN const U8 *p
+ApR |bool |is_utf8_perl_space |NN const U8 *p
+ApR |bool |is_utf8_perl_word |NN const U8 *p
ApR |bool |is_utf8_cntrl |NN const U8 *p
ApR |bool |is_utf8_digit |NN const U8 *p
+ApR |bool |is_utf8_posix_digit |NN const U8 *p
ApR |bool |is_utf8_graph |NN const U8 *p
ApR |bool |is_utf8_upper |NN const U8 *p
ApR |bool |is_utf8_lower |NN const U8 *p
@@ -499,22 +601,56 @@ ApR |bool |is_utf8_print |NN const U8 *p
ApR |bool |is_utf8_punct |NN const U8 *p
ApR |bool |is_utf8_xdigit |NN const U8 *p
ApR |bool |is_utf8_mark |NN const U8 *p
+EXpR |bool |is_utf8_X_begin |NN const U8 *p
+EXpR |bool |is_utf8_X_extend |NN const U8 *p
+EXpR |bool |is_utf8_X_prepend |NN const U8 *p
+EXpR |bool |is_utf8_X_non_hangul |NN const U8 *p
+EXpR |bool |is_utf8_X_L |NN const U8 *p
+EXpR |bool |is_utf8_X_LV |NN const U8 *p
+EXpR |bool |is_utf8_X_LVT |NN const U8 *p
+EXpR |bool |is_utf8_X_LV_LVT_V |NN const U8 *p
+EXpR |bool |is_utf8_X_T |NN const U8 *p
+EXpR |bool |is_utf8_X_V |NN const U8 *p
: Used in perly.y
p |OP* |jmaybe |NN OP *o
: Used in pp.c
pP |I32 |keyword |NN const char *name|I32 len|bool all_keywords
+#if defined(PERL_IN_OP_C)
+s |OP* |opt_scalarhv |NN OP* rep_op
+s |OP* |is_inplace_av |NN OP* o|NULLOK OP* oright
+#endif
Ap |void |leave_scope |I32 base
-: Used in pp_ctl.c, and by Data::Alias
-EXp |void |lex_end
+: Public lexer API
+AMpd |void |lex_start |NULLOK SV* line|NULLOK PerlIO *rsfp|U32 flags
+AMpd |bool |lex_bufutf8
+AMpd |char* |lex_grow_linestr|STRLEN len
+AMpd |void |lex_stuff_pvn |NN const char* pv|STRLEN len|U32 flags
+AMpd |void |lex_stuff_pv |NN const char* pv|U32 flags
+AMpd |void |lex_stuff_sv |NN SV* sv|U32 flags
+AMpd |void |lex_unstuff |NN char* ptr
+AMpd |void |lex_read_to |NN char* ptr
+AMpd |void |lex_discard_to |NN char* ptr
+AMpd |bool |lex_next_chunk |U32 flags
+AMpd |I32 |lex_peek_unichar|U32 flags
+AMpd |I32 |lex_read_unichar|U32 flags
+AMpd |void |lex_read_space |U32 flags
+: Public parser API
+AMpd |OP* |parse_arithexpr|U32 flags
+AMpd |OP* |parse_termexpr |U32 flags
+AMpd |OP* |parse_listexpr |U32 flags
+AMpd |OP* |parse_fullexpr |U32 flags
+AMpd |OP* |parse_block |U32 flags
+AMpd |OP* |parse_barestmt |U32 flags
+AMpd |SV* |parse_label |U32 flags
+AMpd |OP* |parse_fullstmt |U32 flags
+AMpd |OP* |parse_stmtseq |U32 flags
: Used in various files
-p |void |lex_start |NULLOK SV* line|NULLOK PerlIO *rsfp|bool new_filter
Ap |void |op_null |NN OP* o
: FIXME. Used by Data::Alias
EXp |void |op_clear |NN OP* o
Ap |void |op_refcnt_lock
Ap |void |op_refcnt_unlock
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
-s |OP* |linklist |NN OP *o
+#if defined(PERL_IN_OP_C)
s |OP* |listkids |NULLOK OP* o
#endif
: Used in S_doeval in pp_ctl.c
@@ -525,6 +661,10 @@ Ap |void |vload_module|U32 flags|NN SV* name|NULLOK SV* ver|NULLOK va_list* args
p |OP* |localize |NN OP *o|I32 lex
ApdR |I32 |looks_like_number|NN SV *const sv
Apd |UV |grok_bin |NN const char* start|NN STRLEN* len_p|NN I32* flags|NULLOK NV *result
+#ifdef PERL_IN_DQUOTE_STATIC_C
+EMsR |char |grok_bslash_c |const char source|const bool utf8|const bool output_warning
+EMsR |bool |grok_bslash_o |NN const char* s|NN UV* uv|NN STRLEN* len|NN const char** error_msg|const bool output_warning
+#endif
Apd |UV |grok_hex |NN const char* start|NN STRLEN* len_p|NN I32* flags|NULLOK NV *result
Apd |int |grok_number |NN const char *pv|STRLEN len|NULLOK UV *valuep
ApdR |bool |grok_numeric_radix|NN const char **sp|NN const char *send
@@ -533,6 +673,7 @@ Apd |UV |grok_oct |NN const char* start|NN STRLEN* len_p|NN I32* flags|NULLOK NV
p |int |magic_clearenv |NN SV* sv|NN MAGIC* mg
p |int |magic_clear_all_env|NN SV* sv|NN MAGIC* mg
dp |int |magic_clearhint|NN SV* sv|NN MAGIC* mg
+dp |int |magic_clearhints|NN SV* sv|NN MAGIC* mg
p |int |magic_clearisa |NULLOK SV* sv|NN MAGIC* mg
p |int |magic_clearpack|NN SV* sv|NN MAGIC* mg
p |int |magic_clearsig |NN SV* sv|NN MAGIC* mg
@@ -577,14 +718,18 @@ p |int |magic_setutf8 |NN SV* sv|NN MAGIC* mg
p |int |magic_set_all_env|NN SV* sv|NN MAGIC* mg
p |U32 |magic_sizepack |NN SV* sv|NN MAGIC* mg
p |int |magic_wipepack |NN SV* sv|NN MAGIC* mg
+pod |SV* |magic_methcall |NN SV *sv|NN const MAGIC *mg \
+ |NN const char *meth|U32 flags \
+ |U32 argc|...
Ap |void |markstack_grow
#if defined(USE_LOCALE_COLLATE)
p |int |magic_setcollxfrm|NN SV* sv|NN MAGIC* mg
: Defined in locale.c, used only in sv.c
p |char* |mem_collxfrm |NN const char* s|STRLEN len|NN STRLEN* xlen
#endif
-Afp |SV* |mess |NN const char* pat|...
-Ap |SV* |vmess |NN const char* pat|NULLOK va_list* args
+Afpd |SV* |mess |NN const char* pat|...
+Apd |SV* |mess_sv |NN SV* basemsg|bool consume
+Apd |SV* |vmess |NN const char* pat|NULLOK va_list* args
: FIXME - either make it public, or stop exporting it. (Data::Alias uses this)
: Used in gv.c, op.c, toke.c
EXp |void |qerror |NN SV* err
@@ -596,14 +741,17 @@ Apd |int |mg_copy |NN SV *sv|NN SV *nsv|NULLOK const char *key \
: Defined in mg.c, used only in scope.c
pd |void |mg_localize |NN SV* sv|NN SV* nsv|bool setmagic
ApdR |MAGIC* |mg_find |NULLOK const SV* sv|int type
+ApdR |MAGIC* |mg_findext |NULLOK const SV* sv|int type|NULLOK const MGVTBL *vtbl
Apd |int |mg_free |NN SV* sv
+Apd |void |mg_free_type |NN SV* sv|int how
Apd |int |mg_get |NN SV* sv
Apd |U32 |mg_length |NN SV* sv
Apd |void |mg_magical |NN SV* sv
Apd |int |mg_set |NN SV* sv
Ap |I32 |mg_size |NN SV* sv
Ap |void |mini_mktime |NN struct tm *ptm
-: Used by MOD(), which Data::Alias uses
+AMpd |OP* |op_lvalue |NULLOK OP* o|I32 type
+: To be removed after 5.14 (see [perl #78908]):
EXp |OP* |mod |NULLOK OP* o|I32 type
: Used in op.c and pp_sys.c
p |int |mode_from_discipline|NULLOK const char* s|STRLEN len
@@ -621,7 +769,8 @@ Ap |I32 |my_fflush_all
Anp |Pid_t |my_fork
Anp |void |atfork_lock
Anp |void |atfork_unlock
-Ap |I32 |my_lstat
+Apmb |I32 |my_lstat
+pX |I32 |my_lstat_flags |NULLOK const U32 flags
#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
AnpP |I32 |my_memcmp |NN const char* s1|NN const char* s2|I32 len
#endif
@@ -632,7 +781,8 @@ Ap |I32 |my_pclose |NULLOK PerlIO* ptr
Ap |PerlIO*|my_popen |NN const char* cmd|NN const char* mode
Ap |PerlIO*|my_popen_list |NN const char* mode|int n|NN SV ** args
Ap |void |my_setenv |NULLOK const char* nam|NULLOK const char* val
-Ap |I32 |my_stat
+Apmb |I32 |my_stat
+pX |I32 |my_stat_flags |NULLOK const U32 flags
Ap |char * |my_strftime |NN const char *fmt|int sec|int min|int hour|int mday|int mon|int year|int wday|int yday|int isdst
#if defined(MYSWAP)
ApPa |short |my_swap |short s
@@ -644,27 +794,27 @@ p |void |my_unexec
Apa |OP* |newANONLIST |NULLOK OP* o
Apa |OP* |newANONHASH |NULLOK OP* o
Ap |OP* |newANONSUB |I32 floor|NULLOK OP* proto|NULLOK OP* block
-Apa |OP* |newASSIGNOP |I32 flags|NULLOK OP* left|I32 optype|NULLOK OP* right
-Apa |OP* |newCONDOP |I32 flags|NN OP* first|NULLOK OP* trueop|NULLOK OP* falseop
+Apda |OP* |newASSIGNOP |I32 flags|NULLOK OP* left|I32 optype|NULLOK OP* right
+Apda |OP* |newCONDOP |I32 flags|NN OP* first|NULLOK OP* trueop|NULLOK OP* falseop
Apd |CV* |newCONSTSUB |NULLOK HV* stash|NULLOK const char* name|NULLOK SV* sv
#ifdef PERL_MAD
Ap |OP* |newFORM |I32 floor|NULLOK OP* o|NULLOK OP* block
#else
Ap |void |newFORM |I32 floor|NULLOK OP* o|NULLOK OP* block
#endif
-Apa |OP* |newFOROP |I32 flags|NULLOK char* label|line_t forline \
- |NULLOK OP* sv|NN OP* expr|NULLOK OP* block|NULLOK OP* cont
-Apa |OP* |newGIVENOP |NN OP* cond|NN OP* block|PADOFFSET defsv_off
-Apa |OP* |newLOGOP |I32 optype|I32 flags|NN OP *first|NN OP *other
-Apa |OP* |newLOOPEX |I32 type|NN OP* label
-Apa |OP* |newLOOPOP |I32 flags|I32 debuggable|NULLOK OP* expr|NULLOK OP* block
-Apa |OP* |newNULLLIST
-Apa |OP* |newOP |I32 optype|I32 flags
+Apda |OP* |newFOROP |I32 flags|NULLOK OP* sv|NN OP* expr|NULLOK OP* block|NULLOK OP* cont
+Apda |OP* |newGIVENOP |NN OP* cond|NN OP* block|PADOFFSET defsv_off
+Apda |OP* |newLOGOP |I32 optype|I32 flags|NN OP *first|NN OP *other
+Apda |OP* |newLOOPEX |I32 type|NN OP* label
+Apda |OP* |newLOOPOP |I32 flags|I32 debuggable|NULLOK OP* expr|NULLOK OP* block
+Apda |OP* |newNULLLIST
+Apda |OP* |newOP |I32 optype|I32 flags
Ap |void |newPROG |NN OP* o
-Apa |OP* |newRANGE |I32 flags|NN OP* left|NN OP* right
-Apa |OP* |newSLICEOP |I32 flags|NULLOK OP* subscript|NULLOK OP* listop
-Apa |OP* |newSTATEOP |I32 flags|NULLOK char* label|NULLOK OP* o
-Ap |CV* |newSUB |I32 floor|NULLOK OP* o|NULLOK OP* proto|NULLOK OP* block
+Apda |OP* |newRANGE |I32 flags|NN OP* left|NN OP* right
+Apda |OP* |newSLICEOP |I32 flags|NULLOK OP* subscript|NULLOK OP* listop
+Apda |OP* |newSTATEOP |I32 flags|NULLOK char* label|NULLOK OP* o
+Abm |CV* |newSUB |I32 floor|NULLOK OP* o|NULLOK OP* proto \
+ |NULLOK OP* block
ApM |CV * |newXS_flags |NULLOK const char *name|NN XSUBADDR_t subaddr\
|NN const char *const filename \
|NULLOK const char *const proto|U32 flags
@@ -672,26 +822,26 @@ Apd |CV* |newXS |NULLOK const char *name|NN XSUBADDR_t subaddr\
|NN const char *filename
AmdbR |AV* |newAV
Apa |OP* |newAVREF |NN OP* o
-Apa |OP* |newBINOP |I32 type|I32 flags|NULLOK OP* first|NULLOK OP* last
+Apda |OP* |newBINOP |I32 type|I32 flags|NULLOK OP* first|NULLOK OP* last
Apa |OP* |newCVREF |I32 flags|NULLOK OP* o
-Apa |OP* |newGVOP |I32 type|I32 flags|NN GV* gv
+Apda |OP* |newGVOP |I32 type|I32 flags|NN GV* gv
Apa |GV* |newGVgen |NN const char* pack
Apa |OP* |newGVREF |I32 type|NULLOK OP* o
ApaR |OP* |newHVREF |NN OP* o
AmdbR |HV* |newHV
ApaR |HV* |newHVhv |NULLOK HV *hv
-Apa |IO* |newIO
-Apa |OP* |newLISTOP |I32 type|I32 flags|NULLOK OP* first|NULLOK OP* last
+Apabm |IO* |newIO
+Apda |OP* |newLISTOP |I32 type|I32 flags|NULLOK OP* first|NULLOK OP* last
#ifdef USE_ITHREADS
-Apa |OP* |newPADOP |I32 type|I32 flags|NN SV* sv
+Apda |OP* |newPADOP |I32 type|I32 flags|NN SV* sv
#endif
-Apa |OP* |newPMOP |I32 type|I32 flags
-Apa |OP* |newPVOP |I32 type|I32 flags|NULLOK char* pv
+Apda |OP* |newPMOP |I32 type|I32 flags
+Apda |OP* |newPVOP |I32 type|I32 flags|NULLOK char* pv
Apa |SV* |newRV |NN SV *const sv
Apda |SV* |newRV_noinc |NN SV *const sv
Apda |SV* |newSV |const STRLEN len
Apa |OP* |newSVREF |NN OP* o
-Apa |OP* |newSVOP |I32 type|I32 flags|NN SV* sv
+Apda |OP* |newSVOP |I32 type|I32 flags|NN SV* sv
Apda |SV* |newSViv |const IV i
Apda |SV* |newSVuv |const UV u
Apda |SV* |newSVnv |const NV n
@@ -700,30 +850,40 @@ Apda |SV* |newSVpvn |NULLOK const char *const s|const STRLEN len
Apda |SV* |newSVpvn_flags |NULLOK const char *const s|const STRLEN len|const U32 flags
Apda |SV* |newSVhek |NULLOK const HEK *const hek
Apda |SV* |newSVpvn_share |NULLOK const char* s|I32 len|U32 hash
+Apda |SV* |newSVpv_share |NULLOK const char* s|U32 hash
Afpda |SV* |newSVpvf |NN const char *const pat|...
Apa |SV* |vnewSVpvf |NN const char *const pat|NULLOK va_list *const args
Apd |SV* |newSVrv |NN SV *const rv|NULLOK const char *const classname
Apda |SV* |newSVsv |NULLOK SV *const old
Apda |SV* |newSV_type |const svtype type
-Apa |OP* |newUNOP |I32 type|I32 flags|NULLOK OP* first
-Apa |OP* |newWHENOP |NULLOK OP* cond|NN OP* block
-Apa |OP* |newWHILEOP |I32 flags|I32 debuggable|NULLOK LOOP* loop \
- |I32 whileline|NULLOK OP* expr|NULLOK OP* block|NULLOK OP* cont \
+Apda |OP* |newUNOP |I32 type|I32 flags|NULLOK OP* first
+Apda |OP* |newWHENOP |NULLOK OP* cond|NN OP* block
+Apda |OP* |newWHILEOP |I32 flags|I32 debuggable|NULLOK LOOP* loop \
+ |NULLOK OP* expr|NULLOK OP* block|NULLOK OP* cont \
|I32 has_my
+Apd |CV* |rv2cv_op_cv |NN OP *cvop|U32 flags
+Apd |OP* |ck_entersub_args_list|NN OP *entersubop
+Apd |OP* |ck_entersub_args_proto|NN OP *entersubop|NN GV *namegv|NN SV *protosv
+Apd |OP* |ck_entersub_args_proto_or_list|NN OP *entersubop|NN GV *namegv|NN SV *protosv
+Apd |void |cv_get_call_checker|NN CV *cv|NN Perl_call_checker *ckfun_p|NN SV **ckobj_p
+Apd |void |cv_set_call_checker|NN CV *cv|NN Perl_call_checker ckfun|NN SV *ckobj
Apa |PERL_SI*|new_stackinfo|I32 stitems|I32 cxitems
Ap |char* |scan_vstring |NN const char *s|NN const char *const e \
|NN SV *sv
Apd |const char* |scan_version |NN const char *s|NN SV *rv|bool qv
+Apd |const char* |prescan_version |NN const char *s\
+ |bool strict|NULLOK const char** errstr|NULLOK bool *sqv\
+ |NULLOK int *ssaw_decimal|NULLOK int *swidth|NULLOK bool *salpha
Apd |SV* |new_version |NN SV *ver
Apd |SV* |upg_version |NN SV *ver|bool qv
-Apd |bool |vverify |NN SV *vs
+Apd |SV* |vverify |NN SV *vs
Apd |SV* |vnumify |NN SV *vs
Apd |SV* |vnormal |NN SV *vs
Apd |SV* |vstringify |NN SV *vs
Apd |int |vcmp |NN SV *lhv|NN SV *rhv
: Used in pp_hot.c and pp_sys.c
p |PerlIO*|nextargv |NN GV* gv
-ApP |char* |ninstr |NN const char* big|NN const char* bigend \
+AnpP |char* |ninstr |NN const char* big|NN const char* bigend \
|NN const char* little|NN const char* lend
Ap |void |op_free |NULLOK OP* arg
: Used in perly.y
@@ -732,29 +892,37 @@ p |OP* |package |NN OP* o
#else
p |void |package |NN OP* o
#endif
+: Used in perly.y
+p |void |package_version|NN OP* v
: Used in op.c
pd |PADOFFSET|pad_alloc |I32 optype|U32 tmptype
: Used in toke.c and perly.y
-p |PADOFFSET|allocmy |NN const char *const name
+p |PADOFFSET|allocmy |NN const char *const name|const STRLEN len\
+ |const U32 flags
: Used in op.c and toke.c
-pdR |PADOFFSET|pad_findmy |NN const char* name
-Ap |PADOFFSET|find_rundefsvoffset |
+AMpdR |PADOFFSET|pad_findmy |NN const char* name|STRLEN len|U32 flags
+ApD |PADOFFSET|find_rundefsvoffset |
+: Used in pp.c
+Ap |SV* |find_rundefsv |
: Used in perly.y
pR |OP* |oopsAV |NN OP* o
: Used in perly.y
pR |OP* |oopsHV |NN OP* o
: Defined in pad.c, used only in op.c
pd |void |pad_leavemy
+#ifdef DEBUGGING
Apd |SV* |pad_sv |PADOFFSET po
+#endif
: Defined in pad.c, used only in op.c
pd |void |pad_free |PADOFFSET po
-#if defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PAD_C)
sd |void |pad_reset
#endif
: Used in op.c
pd |void |pad_swipe |PADOFFSET po|bool refadjust
-: FIXME
+: peephole optimiser
p |void |peep |NULLOK OP* o
+p |void |rpeep |NULLOK OP* o
: Defined in doio.c, used only in pp_hot.c
dopM |PerlIO*|start_glob |NN SV *tmpglob|NN IO *io
#if defined(USE_REENTRANT_API)
@@ -763,47 +931,46 @@ Ap |void |reentrant_init
Ap |void |reentrant_free
Anp |void* |reentrant_retry|NN const char *f|...
#endif
+: "Very" special - can't use the O flag for this one:
+: (The rename from perl_atexit to Perl_call_atexit was in 864dbfa3ca8032ef)
Ap |void |call_atexit |ATEXIT_t fn|NULLOK void *ptr
-Apd |I32 |call_argv |NN const char* sub_name|I32 flags|NN char** argv
-Apd |I32 |call_method |NN const char* methname|I32 flags
-Apd |I32 |call_pv |NN const char* sub_name|I32 flags
-Apd |I32 |call_sv |NN SV* sv|VOL I32 flags
+ApdO |I32 |call_argv |NN const char* sub_name|I32 flags|NN char** argv
+ApdO |I32 |call_method |NN const char* methname|I32 flags
+ApdO |I32 |call_pv |NN const char* sub_name|I32 flags
+ApdO |I32 |call_sv |NN SV* sv|VOL I32 flags
Ap |void |despatch_signals
Ap |OP * |doref |NN OP *o|I32 type|bool set_op_ref
-Apd |SV* |eval_pv |NN const char* p|I32 croak_on_error
-Apd |I32 |eval_sv |NN SV* sv|I32 flags
-Apd |SV* |get_sv |NN const char *name|I32 flags
-Apd |AV* |get_av |NN const char *name|I32 flags
-Apd |HV* |get_hv |NN const char *name|I32 flags
-Apd |CV* |get_cv |NN const char* name|I32 flags
+ApdO |SV* |eval_pv |NN const char* p|I32 croak_on_error
+ApdO |I32 |eval_sv |NN SV* sv|I32 flags
+ApdO |SV* |get_sv |NN const char *name|I32 flags
+ApdO |AV* |get_av |NN const char *name|I32 flags
+ApdO |HV* |get_hv |NN const char *name|I32 flags
+ApdO |CV* |get_cv |NN const char* name|I32 flags
Apd |CV* |get_cvn_flags |NN const char* name|STRLEN len|I32 flags
-Ap |int |init_i18nl10n |int printwarn
-Ap |int |init_i18nl14n |int printwarn
-Ap |void |new_collate |NULLOK const char* newcoll
-Ap |void |new_ctype |NN const char* newctype
-Ap |void |new_numeric |NULLOK const char* newcoll
+ApO |int |init_i18nl10n |int printwarn
+ApO |int |init_i18nl14n |int printwarn
+ApO |void |new_collate |NULLOK const char* newcoll
+ApO |void |new_ctype |NN const char* newctype
+ApO |void |new_numeric |NULLOK const char* newcoll
Ap |void |set_numeric_local
Ap |void |set_numeric_radix
Ap |void |set_numeric_standard
-Apd |void |require_pv |NN const char* pv
+ApdO |void |require_pv |NN const char* pv
Apd |void |pack_cat |NN SV *cat|NN const char *pat|NN const char *patend \
|NN SV **beglist|NN SV **endlist|NN SV ***next_in_list|U32 flags
Apd |void |packlist |NN SV *cat|NN const char *pat|NN const char *patend|NN SV **beglist|NN SV **endlist
#if defined(PERL_USES_PL_PIDSTATUS) && defined(PERL_IN_UTIL_C)
s |void |pidgone |Pid_t pid|int status
#endif
-Ap |void |pmflag |NN U32* pmfl|int ch
: Used in perly.y
p |OP* |pmruntime |NN OP *o|NN OP *expr|bool isreg
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_OP_C)
s |OP* |pmtrans |NN OP* o|NN OP* expr|NN OP* repl
#endif
Ap |void |pop_scope
-: Used in perly.y
-p |OP* |prepend_elem |I32 optype|NULLOK OP* head|NULLOK OP* tail
Ap |void |push_scope
Amb |OP* |ref |NULLOK OP* o|I32 type
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_OP_C)
s |OP* |refkids |NULLOK OP* o|I32 type
#endif
Ap |void |regdump |NN const regexp* r
@@ -811,13 +978,18 @@ Ap |void |regdump |NN const regexp* r
Ap |SV* |regclass_swash |NULLOK const regexp *prog \
|NN const struct regnode *node|bool doinit \
|NULLOK SV **listsvp|NULLOK SV **altsvp
+#ifdef PERL_IN_REGCOMP_C
+EMi |U8 |set_regclass_bit|NN struct RExC_state_t* pRExC_state|NN regnode* node|const U8 value|NN HV** invlist_ptr|NN AV** alternate_ptr
+EMs |U8 |set_regclass_bit_fold|NN struct RExC_state_t *pRExC_state|NN regnode* node|const U8 value|NN HV** invlist_ptr|NN AV** alternate_ptr
+EMs |void |add_alternate |NN AV** alternate_ptr|NN U8* string|STRLEN len
+#endif
Ap |I32 |pregexec |NN REGEXP * const prog|NN char* stringarg \
|NN char* strend|NN char* strbeg|I32 minend \
|NN SV* screamer|U32 nosave
Ap |void |pregfree |NULLOK REGEXP* r
Ap |void |pregfree2 |NN REGEXP *rx
: FIXME - is anything in re using this now?
-EXp |REGEXP*|reg_temp_copy |NN REGEXP* r
+EXp |REGEXP*|reg_temp_copy |NULLOK REGEXP* ret_x|NN REGEXP* rx
Ap |void |regfree_internal|NN REGEXP *const rx
#if defined(USE_ITHREADS)
Ap |void* |regdupe_internal|NN REGEXP * const r|NN CLONE_PARAMS* param
@@ -828,6 +1000,9 @@ Ap |char* |re_intuit_start|NN REGEXP * const rx|NULLOK SV* sv|NN char* strpos \
|NN char* strend|const U32 flags \
|NULLOK re_scream_pos_data *data
Ap |SV* |re_intuit_string|NN REGEXP *const r
+#if defined(PERL_IN_DQUOTE_STATIC_C)
+EiPR |I32 |regcurly |NN const char *s
+#endif
Ap |I32 |regexec_flags |NN REGEXP *const rx|NN char *stringarg \
|NN char *strend|NN char *strbeg|I32 minend \
|NN SV *sv|NULLOK void *data|U32 flags
@@ -856,8 +1031,8 @@ EXp |SV*|reg_qr_package|NN REGEXP * const rx
: FIXME - why the E?
Ep |void |regprop |NULLOK const regexp *prog|NN SV* sv|NN const regnode* o
-Ap |void |repeatcpy |NN char* to|NN const char* from|I32 len|I32 count
-ApP |char* |rninstr |NN const char* big|NN const char* bigend \
+Anp |void |repeatcpy |NN char* to|NN const char* from|I32 len|I32 count
+AnpP |char* |rninstr |NN const char* big|NN const char* bigend \
|NN const char* little|NN const char* lend
Ap |Sighandler_t|rsignal |int i|Sighandler_t t
: Used in pp_sys.c
@@ -865,7 +1040,7 @@ p |int |rsignal_restore|int i|NULLOK Sigsave_t* t
: Used in pp_sys.c
p |int |rsignal_save |int i|Sighandler_t t1|NN Sigsave_t* save
Ap |Sighandler_t|rsignal_state|int i
-#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PP_CTL_C)
s |void |rxres_free |NN void** rsp
s |void |rxres_restore |NN void **rsp|NN REGEXP *rx
#endif
@@ -879,29 +1054,32 @@ Apda |char* |savepv |NULLOK const char* pv
Apda |char* |savepvn |NULLOK const char* pv|I32 len
Apda |char* |savesharedpv |NULLOK const char* pv
Apda |char* |savesharedpvn |NN const char *const pv|const STRLEN len
+Apda |char* |savesharedsvpv |NN SV *sv
Apda |char* |savesvpv |NN SV* sv
Ap |void |savestack_grow
Ap |void |savestack_grow_cnt |I32 need
-Ap |void |save_aelem |NN AV* av|I32 idx|NN SV **sptr
+Amp |void |save_aelem |NN AV* av|I32 idx|NN SV **sptr
+Ap |void |save_aelem_flags|NN AV* av|I32 idx|NN SV **sptr|const U32 flags
Ap |I32 |save_alloc |I32 size|I32 pad
Ap |void |save_aptr |NN AV** aptr
Ap |AV* |save_ary |NN GV* gv
Ap |void |save_bool |NN bool* boolp
Ap |void |save_clearsv |NN SV** svp
Ap |void |save_delete |NN HV *hv|NN char *key|I32 klen
+Ap |void |save_hdelete |NN HV *hv|NN SV *keysv
Ap |void |save_adelete |NN AV *av|I32 key
Ap |void |save_destructor|DESTRUCTORFUNC_NOCONTEXT_t f|NN void* p
Ap |void |save_destructor_x|DESTRUCTORFUNC_t f|NULLOK void* p
Apmb |void |save_freesv |NULLOK SV* sv
: Used in SAVEFREOP(), used in op.c, pp_ctl.c
-pmb |void |save_freeop |NULLOK OP* o
+Apmb |void |save_freeop |NULLOK OP* o
Apmb |void |save_freepv |NULLOK char* pv
Ap |void |save_generic_svref|NN SV** sptr
Ap |void |save_generic_pvref|NN char** str
Ap |void |save_shared_pvref|NN char** str
Ap |void |save_gp |NN GV* gv|I32 empty
Ap |HV* |save_hash |NN GV* gv
-p |void |save_hints
+Ap |void |save_hints
Amp |void |save_helem |NN HV *hv|NN SV *key|NN SV **sptr
Ap |void |save_helem_flags|NN HV *hv|NN SV *key|NN SV **sptr|const U32 flags
Ap |void |save_hptr |NN HV** hptr
@@ -916,7 +1094,7 @@ Ap |void |save_long |NN long* longp
Apmb |void |save_mortalizesv|NN SV* sv
Ap |void |save_nogv |NN GV* gv
: Used in SAVEFREOP(), used in gv.c, op.c, perl.c, pp_ctl.c, pp_sort.c
-pmb |void |save_op
+Apmb |void |save_op
Ap |SV* |save_scalar |NN GV* gv
Ap |void |save_pptr |NN char** pptr
Ap |void |save_vptr |NN void *ptr
@@ -926,19 +1104,20 @@ Ap |void |save_sptr |NN SV** sptr
Ap |SV* |save_svref |NN SV** sptr
Ap |void |save_pushptr |NULLOK void *const ptr|const int type
: Used by SAVECOPARYBASE() in op.c
-p |void |save_pushi32ptr|const I32 i|NULLOK void *const ptr|const int type
+Ap |void |save_pushi32ptr|const I32 i|NULLOK void *const ptr|const int type
: Used by SAVESWITCHSTACK() in pp.c
-p |void |save_pushptrptr|NULLOK void *const ptr1 \
+Ap |void |save_pushptrptr|NULLOK void *const ptr1 \
|NULLOK void *const ptr2|const int type
-#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_SCOPE_C)
s |void |save_pushptri32ptr|NULLOK void *const ptr1|const I32 i \
|NULLOK void *const ptr2|const int type
#endif
: Used in perly.y
p |OP* |sawparens |NULLOK OP* o
+Apd |OP* |op_contextualize|NN OP* o|I32 context
: Used in perly.y
p |OP* |scalar |NULLOK OP* o
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_OP_C)
s |OP* |scalarkids |NULLOK OP* o
s |OP* |scalarseq |NULLOK OP* o
#endif
@@ -948,8 +1127,7 @@ Apd |NV |scan_bin |NN const char* start|STRLEN len|NN STRLEN* retlen
Apd |NV |scan_hex |NN const char* start|STRLEN len|NN STRLEN* retlen
Ap |char* |scan_num |NN const char* s|NN YYSTYPE *lvalp
Apd |NV |scan_oct |NN const char* start|STRLEN len|NN STRLEN* retlen
-: Used in perly.y
-p |OP* |scope |NULLOK OP* o
+AMpd |OP* |op_scope |NULLOK OP* o
Ap |char* |screaminstr |NN SV *bigstr|NN SV *littlestr|I32 start_shift \
|I32 end_shift|NN I32 *old_posp|I32 last
Apd |void |setdefout |NULLOK GV* gv
@@ -966,17 +1144,18 @@ Ap |SV** |stack_grow |NN SV** sp|NN SV** p|int n
Ap |I32 |start_subparse |I32 is_format|U32 flags
: Used in pp_ctl.c
p |void |sub_crush_depth|NN CV* cv
-Apd |bool |sv_2bool |NN SV *const sv
+Amd |bool |sv_2bool |NN SV *const sv
+Apd |bool |sv_2bool_flags |NN SV *const sv|const I32 flags
Apd |CV* |sv_2cv |NULLOK SV* sv|NN HV **const st|NN GV **const gvp \
|const I32 lref
Apd |IO* |sv_2io |NN SV *const sv
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_SV_C)
s |bool |glob_2number |NN GV* const gv
#endif
Amb |IV |sv_2iv |NULLOK SV *sv
Apd |IV |sv_2iv_flags |NULLOK SV *const sv|const I32 flags
Apd |SV* |sv_2mortal |NULLOK SV *const sv
-Apd |NV |sv_2nv |NULLOK SV *const sv
+Apd |NV |sv_2nv_flags |NULLOK SV *const sv|const I32 flags
: Used in pp.c, pp_hot.c, sv.c
pMd |SV* |sv_2num |NN SV *const sv
Amb |char* |sv_2pv |NULLOK SV *sv|NULLOK STRLEN *lp
@@ -993,7 +1172,7 @@ Apd |char* |sv_pvn |NN SV *sv|NN STRLEN *lp
Apd |char* |sv_pvutf8n |NN SV *sv|NN STRLEN *lp
Apd |char* |sv_pvbyten |NN SV *sv|NN STRLEN *lp
Apd |I32 |sv_true |NULLOK SV *const sv
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_SV_C)
sd |void |sv_add_arena |NN char *const ptr|const U32 size \
|const U32 flags
#endif
@@ -1010,20 +1189,35 @@ Apd |void |sv_chop |NN SV *const sv|NULLOK const char *const ptr
pd |I32 |sv_clean_all
: Used only in perl.c
pd |void |sv_clean_objs
-Apd |void |sv_clear |NN SV *const sv
-Apd |I32 |sv_cmp |NULLOK SV *const sv1|NULLOK SV *const sv2
-Apd |I32 |sv_cmp_locale |NULLOK SV *const sv1|NULLOK SV *const sv2
+Apd |void |sv_clear |NN SV *const orig_sv
+#if defined(PERL_IN_SV_C)
+s |bool |curse |NN SV * const sv|const bool check_refcnt
+#endif
+Aopd |I32 |sv_cmp |NULLOK SV *const sv1|NULLOK SV *const sv2
+Apd |I32 |sv_cmp_flags |NULLOK SV *const sv1|NULLOK SV *const sv2 \
+ |const U32 flags
+Aopd |I32 |sv_cmp_locale |NULLOK SV *const sv1|NULLOK SV *const sv2
+Apd |I32 |sv_cmp_locale_flags |NULLOK SV *const sv1 \
+ |NULLOK SV *const sv2|const U32 flags
#if defined(USE_LOCALE_COLLATE)
-Apd |char* |sv_collxfrm |NN SV *const sv|NN STRLEN *const nxp
+Amd |char* |sv_collxfrm |NN SV *const sv|NN STRLEN *const nxp
+Apd |char* |sv_collxfrm_flags |NN SV *const sv|NN STRLEN *const nxp|I32 const flags
#endif
-Ap |OP* |sv_compile_2op |NN SV *sv|NN OP **startop \
+: Frustratingly, because regcomp.c is also compiled as ext/re/re_comp.c,
+: anything it needs has to be exported. So this has to be X. I'd rather it
+: wasn't.
+Xpo |OP* |sv_compile_2op_is_broken|NN SV *sv|NN OP **startop \
+ |NN const char *code|NN PAD **padp
+ApD |OP* |sv_compile_2op |NN SV *sv|NN OP **startop \
|NN const char *code|NN PAD **padp
Apd |int |getcwd_sv |NN SV* sv
Apd |void |sv_dec |NULLOK SV *const sv
+Apd |void |sv_dec_nomg |NULLOK SV *const sv
Ap |void |sv_dump |NN SV* sv
ApdR |bool |sv_derived_from|NN SV* sv|NN const char *const name
ApdR |bool |sv_does |NN SV* sv|NN const char *const name
-Apd |I32 |sv_eq |NULLOK SV* sv1|NULLOK SV* sv2
+Amd |I32 |sv_eq |NULLOK SV* sv1|NULLOK SV* sv2
+Apd |I32 |sv_eq_flags |NULLOK SV* sv1|NULLOK SV* sv2|const U32 flags
Apd |void |sv_free |NULLOK SV *const sv
: FIXME Used in SvREFCNT_dec() but only
: if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
@@ -1033,6 +1227,7 @@ pd |void |sv_free_arenas
Apd |char* |sv_gets |NN SV *const sv|NN PerlIO *const fp|I32 append
Apd |char* |sv_grow |NN SV *const sv|STRLEN newlen
Apd |void |sv_inc |NULLOK SV *const sv
+Apd |void |sv_inc_nomg |NULLOK SV *const sv
Amdb |void |sv_insert |NN SV *const bigstr|const STRLEN offset \
|const STRLEN len|NN const char *const little \
|const STRLEN littlelen
@@ -1052,6 +1247,8 @@ ApdR |SV* |sv_newmortal
Apd |SV* |sv_newref |NULLOK SV *const sv
Ap |char* |sv_peek |NULLOK SV* sv
Apd |void |sv_pos_u2b |NULLOK SV *const sv|NN I32 *const offsetp|NULLOK I32 *const lenp
+Apd |STRLEN |sv_pos_u2b_flags|NN SV *const sv|STRLEN uoffset \
+ |NULLOK STRLEN *const lenp|U32 flags
Apd |void |sv_pos_b2u |NULLOK SV *const sv|NN I32 *const offsetp
Amdb |char* |sv_pvn_force |NN SV* sv|NULLOK STRLEN* lp
Apd |char* |sv_pvutf8n_force|NN SV *const sv|NULLOK STRLEN *const lp
@@ -1082,6 +1279,7 @@ Amdb |void |sv_setsv |NN SV *dstr|NULLOK SV *sstr
Amdb |void |sv_taint |NN SV* sv
ApdR |bool |sv_tainted |NN SV *const sv
Apd |int |sv_unmagic |NN SV *const sv|const int type
+Apd |int |sv_unmagicext |NN SV *const sv|const int type|NULLOK MGVTBL *vtbl
Apdmb |void |sv_unref |NN SV* sv
Apd |void |sv_unref_flags |NN SV *const ref|const U32 flags
Apd |void |sv_untaint |NN SV *const sv
@@ -1098,6 +1296,25 @@ Apd |void |sv_vsetpvfn |NN SV *const sv|NN const char *const pat|const STRLEN pa
ApR |NV |str_to_version |NN SV *sv
Ap |SV* |swash_init |NN const char* pkg|NN const char* name|NN SV* listsv|I32 minbits|I32 none
Ap |UV |swash_fetch |NN SV *swash|NN const U8 *ptr|bool do_utf8
+EXMpR |HV* |_swash_inversion_hash |NN SV* const swash
+EXMpR |HV* |_new_invlist |IV initial_size
+EXMpR |HV* |_swash_to_invlist |NN SV* const swash
+EXMp |void |_append_range_to_invlist |NN HV* const invlist|const UV start|const UV end
+#ifdef PERL_IN_REGCOMP_C
+EiMR |HV* |add_cp_to_invlist |NULLOK HV* invlist|const UV cp
+EsMR |HV* |add_range_to_invlist |NULLOK HV* invlist|const UV start|const UV end
+EiMR |UV* |invlist_array |NN HV* const invlist
+EiM |void |invlist_destroy |NN HV* const invlist
+EsM |void |invlist_extend |NN HV* const invlist|const UV len
+EsMR |HV* |invlist_intersection |NN HV* const a|NN HV* const b
+EiMR |UV |invlist_len |NN HV* const invlist
+EiMR |UV |invlist_max |NN HV* const invlist
+EiM |void |invlist_set_array |NN HV* const invlist|NN const UV* const array
+EiM |void |invlist_set_len |NN HV* const invlist|const UV len
+EiM |void |invlist_set_max |NN HV* const invlist|const UV max
+EiM |void |invlist_trim |NN HV* const invlist
+EsMR |HV* |invlist_union |NN HV* const a|NN HV* const b
+#endif
Ap |void |taint_env
Ap |void |taint_proper |NULLOK const char* f|NN const char *const s
Apd |UV |to_utf8_case |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp \
@@ -1130,10 +1347,13 @@ AdpPR |STRLEN |utf8_length |NN const U8* s|NN const U8 *e
ApdPR |IV |utf8_distance |NN const U8 *a|NN const U8 *b
ApdPR |U8* |utf8_hop |NN const U8 *s|I32 off
ApMd |U8* |utf8_to_bytes |NN U8 *s|NN STRLEN *len
+Apd |int |bytes_cmp_utf8 |NN const U8 *b|STRLEN blen|NN const U8 *u \
+ |STRLEN ulen
ApMd |U8* |bytes_from_utf8|NN const U8 *s|NN STRLEN *len|NULLOK bool *is_utf8
ApMd |U8* |bytes_to_utf8 |NN const U8 *s|NN STRLEN *len
Apd |UV |utf8_to_uvchr |NN const U8 *s|NULLOK STRLEN *retlen
Apd |UV |utf8_to_uvuni |NN const U8 *s|NULLOK STRLEN *retlen
+pM |bool |check_utf8_print |NN const U8 *s|const STRLEN len
#ifdef EBCDIC
Adp |UV |utf8n_to_uvchr |NN const U8 *s|STRLEN curlen|NULLOK STRLEN *retlen|U32 flags
@@ -1166,27 +1386,33 @@ Ap |U32 |seed
: Only used in perl.c
pR |UV |get_hash_seed
: Used in doio.c, pp_hot.c, pp_sys.c
-p |void |report_evil_fh |NULLOK const GV *gv|NULLOK const IO *io|I32 op
+p |void |report_evil_fh |NULLOK const GV *gv
+: Used in doio.c, pp_hot.c, pp_sys.c
+p |void |report_wrongway_fh|NULLOK const GV *gv|const char have
: Used in mg.c, pp.c, pp_hot.c, regcomp.c
XEpd |void |report_uninit |NULLOK const SV *uninit_sv
+Apd |void |warn_sv |NN SV *baseex
Afpd |void |warn |NN const char* pat|...
-Ap |void |vwarn |NN const char* pat|NULLOK va_list* args
+Apd |void |vwarn |NN const char* pat|NULLOK va_list* args
Afp |void |warner |U32 err|NN const char* pat|...
+Afp |void |ck_warner |U32 err|NN const char* pat|...
+Afp |void |ck_warner_d |U32 err|NN const char* pat|...
Ap |void |vwarner |U32 err|NN const char* pat|NULLOK va_list* args
: FIXME
p |void |watch |NN char** addr
Ap |I32 |whichsig |NN const char* sig
: Used in pp_ctl.c
-p |void |write_to_stderr|NN const char* message|int msglen
+p |void |write_to_stderr|NN SV* msv
: Used in op.c
p |int |yyerror |NN const char *const s
: Used in perly.y, and by Data::Alias
EXp |int |yylex
+p |void |yyunlex
: Used in perl.c, pp_ctl.c
-p |int |yyparse
+p |int |yyparse |int gramtype
: Only used in scope.c
p |void |parser_free |NN const yy_parser *parser
-#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_TOKE_C)
s |int |yywarn |NN const char *const s
#endif
#if defined(MYMALLOC)
@@ -1287,14 +1513,20 @@ ApR |HEK* |hek_dup |NULLOK HEK* e|NN CLONE_PARAMS* param
Ap |void |re_dup_guts |NN const REGEXP *sstr|NN REGEXP *dstr \
|NN CLONE_PARAMS* param
Ap |PerlIO*|fp_dup |NULLOK PerlIO *const fp|const char type|NN CLONE_PARAMS *const param
-ApR |DIR* |dirp_dup |NULLOK DIR *const dp
+ApR |DIR* |dirp_dup |NULLOK DIR *const dp|NN CLONE_PARAMS *const param
ApR |GP* |gp_dup |NULLOK GP *const gp|NN CLONE_PARAMS *const param
ApR |MAGIC* |mg_dup |NULLOK MAGIC *mg|NN CLONE_PARAMS *const param
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_SV_C)
s |SV ** |sv_dup_inc_multiple|NN SV *const *source|NN SV **dest \
|SSize_t items|NN CLONE_PARAMS *const param
#endif
+#if defined(PERL_IN_SV_C)
+sR |SV* |sv_dup_common |NN const SV *const sstr \
+ |NN CLONE_PARAMS *const param
+#endif
ApR |SV* |sv_dup |NULLOK const SV *const sstr|NN CLONE_PARAMS *const param
+ApR |SV* |sv_dup_inc |NULLOK const SV *const sstr \
+ |NN CLONE_PARAMS *const param
Ap |void |rvpv_dup |NN SV *const dstr|NN const SV *const sstr|NN CLONE_PARAMS *const param
Ap |yy_parser*|parser_dup |NULLOK const yy_parser *const proto|NN CLONE_PARAMS *const param
#endif
@@ -1303,7 +1535,7 @@ ApR |void* |ptr_table_fetch|NN PTR_TBL_t *const tbl|NULLOK const void *const sv
Ap |void |ptr_table_store|NN PTR_TBL_t *const tbl|NULLOK const void *const oldsv \
|NN void *const newsv
Ap |void |ptr_table_split|NN PTR_TBL_t *const tbl
-Ap |void |ptr_table_clear|NULLOK PTR_TBL_t *const tbl
+ApD |void |ptr_table_clear|NULLOK PTR_TBL_t *const tbl
Ap |void |ptr_table_free|NULLOK PTR_TBL_t *const tbl
#if defined(USE_ITHREADS)
# if defined(HAVE_INTERP_INTERN)
@@ -1315,8 +1547,11 @@ Ap |void |sys_intern_clear
Ap |void |sys_intern_init
#endif
+AopP |const XOP * |custom_op_xop |NN const OP *o
ApR |const char * |custom_op_name |NN const OP *o
ApR |const char * |custom_op_desc |NN const OP *o
+Aop |void |custom_op_register |NN Perl_ppaddr_t ppaddr \
+ |NN const XOP *xop
Adp |void |sv_nosharing |NULLOK SV *sv
Adpbm |void |sv_nolocking |NULLOK SV *sv
@@ -1328,9 +1563,7 @@ Adpb |void |sv_nounlocking |NULLOK SV *sv
#endif
Adp |int |nothreadhook
-END_EXTERN_C
-
-#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_DOOP_C)
sR |I32 |do_trans_simple |NN SV * const sv
sR |I32 |do_trans_count |NN SV * const sv
sR |I32 |do_trans_complex |NN SV * const sv
@@ -1339,19 +1572,16 @@ sR |I32 |do_trans_count_utf8 |NN SV * const sv
sR |I32 |do_trans_complex_utf8 |NN SV * const sv
#endif
-#if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_GV_C)
s |void |gv_init_sv |NN GV *gv|const svtype sv_type
+s |void |gv_magicalize_isa |NN GV *gv
+s |void |gv_magicalize_overload |NN GV *gv
s |HV* |gv_get_super_pkg|NN const char* name|I32 namelen
s |HV* |require_tie_mod|NN GV *gv|NN const char *varpv|NN SV* namesv \
|NN const char *methpv|const U32 flags
#endif
-: #if defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-: Used in hv.c
-paRxo |void* |get_arena |const size_t svtype|const U32 misc
-: #endif
-
-#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_HV_C)
s |void |hsplit |NN HV *hv
s |void |hfreeentries |NN HV *hv
sa |HE* |new_he
@@ -1365,62 +1595,20 @@ sM |SV* |hv_delete_common|NULLOK HV *hv|NULLOK SV *keysv \
|NULLOK const char *key|STRLEN klen|int k_flags|I32 d_flags \
|U32 hash
sM |void |clear_placeholders |NN HV *hv|U32 items
-sM |SV * |refcounted_he_value |NN const struct refcounted_he *he
#endif
-#if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_MG_C)
s |void |save_magic |I32 mgs_ix|NN SV *sv
-s |int |magic_methpack |NN SV *sv|NN const MAGIC *mg|NN const char *meth
-s |int |magic_methcall |NN SV *sv|NN const MAGIC *mg|NN const char *meth|I32 f \
+-s |int |magic_methpack |NN SV *sv|NN const MAGIC *mg|NN const char *meth
+s |SV* |magic_methcall1|NN SV *sv|NN const MAGIC *mg \
+ |NN const char *meth|U32 flags \
|int n|NULLOK SV *val
s |void |restore_magic |NULLOK const void *p
-s |void |unwind_handler_stack|NN const void *p
+s |void |unwind_handler_stack|NULLOK const void *p
#endif
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
-: These are all indirectly referenced by globals.c. This is somewhat annoying.
-pR |OP* |ck_anoncode |NN OP *o
-pR |OP* |ck_bitop |NN OP *o
-pR |OP* |ck_concat |NN OP *o
-pR |OP* |ck_defined |NN OP *o
-pR |OP* |ck_delete |NN OP *o
-pR |OP* |ck_die |NN OP *o
-pR |OP* |ck_eof |NN OP *o
-pR |OP* |ck_eval |NN OP *o
-pR |OP* |ck_exec |NN OP *o
-pR |OP* |ck_exists |NN OP *o
-pR |OP* |ck_exit |NN OP *o
-pR |OP* |ck_ftst |NN OP *o
-pR |OP* |ck_fun |NN OP *o
-pR |OP* |ck_glob |NN OP *o
-pR |OP* |ck_grep |NN OP *o
-pR |OP* |ck_index |NN OP *o
-pR |OP* |ck_join |NN OP *o
-pR |OP* |ck_lfun |NN OP *o
-pR |OP* |ck_listiob |NN OP *o
-pR |OP* |ck_match |NN OP *o
-pR |OP* |ck_method |NN OP *o
-pR |OP* |ck_null |NN OP *o
-pR |OP* |ck_open |NN OP *o
-pR |OP* |ck_readline |NN OP *o
-pR |OP* |ck_repeat |NN OP *o
-pR |OP* |ck_require |NN OP *o
-pR |OP* |ck_return |NN OP *o
-pR |OP* |ck_rfun |NN OP *o
-pR |OP* |ck_rvconst |NN OP *o
-pR |OP* |ck_sassign |NN OP *o
-pR |OP* |ck_select |NN OP *o
-pR |OP* |ck_shift |NN OP *o
-pR |OP* |ck_sort |NN OP *o
-pR |OP* |ck_spair |NN OP *o
-pR |OP* |ck_split |NN OP *o
-pR |OP* |ck_subr |NN OP *o
-pR |OP* |ck_substr |NN OP *o
-pR |OP* |ck_svconst |NN OP *o
-pR |OP* |ck_trunc |NN OP *o
-pR |OP* |ck_unpack |NN OP *o
-pR |OP* |ck_each |NN OP *o
+#if defined(PERL_IN_OP_C)
sRn |bool |is_handle_constructor|NN const OP *o|I32 numargs
sR |I32 |is_list_assignment|NULLOK const OP *o
# ifdef USE_ITHREADS
@@ -1471,7 +1659,7 @@ s |void |Slab_to_rw |NN void *op
# endif
#endif
-#if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PERL_C)
s |void |find_beginning |NN SV* linestr_sv|NN PerlIO *rsfp
s |void |forbid_setid |const char flag|const bool suidscript
s |void |incpush |NN const char *const dir|STRLEN len \
@@ -1494,19 +1682,23 @@ so |void |validate_suid |NN PerlIO *rsfp
s |void* |parse_body |NULLOK char **env|XSINIT_t xsinit
rs |void |run_body |I32 oldscope
+# ifndef PERL_IS_MINIPERL
s |SV * |incpush_if_exists|NN AV *const av|NN SV *dir|NN SV *const stem
+# endif
#endif
-#if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PP_C)
+s |void |do_chomp |NN SV *retval|NN SV *sv|bool chomping
+s |OP* |do_delete_local
sR |SV* |refto |NN SV* sv
#endif
-#if defined(PERL_IN_PP_C) || defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PP_C) || defined(PERL_IN_PP_HOT_C)
: Used in pp_hot.c
pRxo |GV* |softref2xv |NN SV *const sv|NN const char *const what \
|const svtype type|NN SV ***spp
#endif
-#if defined(PERL_IN_PP_PACK_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PP_PACK_C)
s |I32 |unpack_rec |NN struct tempsym* symptr|NN const char *s \
|NN const char *strbeg|NN const char *strend|NULLOK const char **new_s
s |SV ** |pack_rec |NN SV *cat|NN struct tempsym* symptr|NN SV **beglist|NN SV **endlist
@@ -1524,7 +1716,7 @@ sR |char * |sv_exp_grow |NN SV *sv|STRLEN needed
snR |char * |bytes_to_uni |NN const U8 *start|STRLEN len|NN char *dest
#endif
-#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PP_CTL_C)
sR |OP* |docatch |NULLOK OP *o
sR |OP* |dofindlabel |NN OP *o|NN const char *label|NN OP **opstack|NN OP **oplimit
sR |OP* |doparseform |NN SV *sv
@@ -1537,9 +1729,9 @@ sR |I32 |dopoptosub_at |NN const PERL_CONTEXT* cxstk|I32 startingblock
sR |I32 |dopoptowhen |I32 startingblock
s |void |save_lines |NULLOK AV *array|NN SV *sv
s |bool |doeval |int gimme|NULLOK OP** startop|NULLOK CV* outside|U32 seq
-sR |PerlIO *|check_type_and_open|NN const char *name
+sR |PerlIO *|check_type_and_open|NN SV *name
#ifndef PERL_DISABLE_PMC
-sR |PerlIO *|doopen_pm |NN const char *name|const STRLEN namelen
+sR |PerlIO *|doopen_pm |NN SV *name
#endif
sRn |bool |path_is_absolute|NN const char *name
sR |I32 |run_user_filter|int idx|NN SV *buf_sv|int maxlen
@@ -1549,12 +1741,12 @@ s |void |destroy_matcher|NN PMOP* matcher
s |OP* |do_smartmatch |NULLOK HV* seen_this|NULLOK HV* seen_other
#endif
-#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PP_HOT_C)
s |void |do_oddball |NN HV *hash|NN SV **relem|NN SV **firstrelem
sR |SV* |method_common |NN SV* meth|NULLOK U32* hashp
#endif
-#if defined(PERL_IN_PP_SORT_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PP_SORT_C)
s |I32 |sv_ncmp |NN SV *const a|NN SV *const b
s |I32 |sv_i_ncmp |NN SV *const a|NN SV *const b
s |I32 |amagic_ncmp |NN SV *const a|NN SV *const b
@@ -1567,15 +1759,18 @@ s |I32 |sortcv_stacked |NN SV *const a|NN SV *const b
s |void |qsortsvu |NULLOK SV** array|size_t num_elts|NN SVCOMPARE_t compare
#endif
-#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PP_SYS_C)
s |OP* |doform |NN CV *cv|NN GV *gv|NN OP *retop
# if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
sR |int |dooneliner |NN const char *cmd|NN const char *filename
# endif
s |SV * |space_join_names_mortal|NN char *const *array
#endif
+p |OP * |tied_method|NN const char *const methname|NN SV **sp \
+ |NN SV *const sv|NN const MAGIC *const mg \
+ |const U32 flags|U32 argc|...
-#if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_REGCOMP_C)
Es |regnode*|reg |NN struct RExC_state_t *pRExC_state \
|I32 paren|NN I32 *flagp|U32 depth
Es |regnode*|reganode |NN struct RExC_state_t *pRExC_state|U8 op \
@@ -1587,13 +1782,12 @@ Es |regnode*|regbranch |NN struct RExC_state_t *pRExC_state \
Es |STRLEN |reguni |NN const struct RExC_state_t *pRExC_state \
|UV uv|NN char *s
Es |regnode*|regclass |NN struct RExC_state_t *pRExC_state|U32 depth
-ERsn |I32 |regcurly |NN const char *s
Es |regnode*|reg_node |NN struct RExC_state_t *pRExC_state|U8 op
Es |UV |reg_recode |const char value|NN SV **encp
Es |regnode*|regpiece |NN struct RExC_state_t *pRExC_state \
|NN I32 *flagp|U32 depth
Es |regnode*|reg_namedseq |NN struct RExC_state_t *pRExC_state \
- |NULLOK UV *valuep
+ |NULLOK UV *valuep|NULLOK I32 *flagp|U32 depth
Es |void |reginsert |NN struct RExC_state_t *pRExC_state \
|U8 op|NN regnode *opnd|U32 depth
Es |void |regtail |NN struct RExC_state_t *pRExC_state \
@@ -1614,8 +1808,6 @@ Esn |void |cl_anything |NN const struct RExC_state_t *pRExC_state \
EsRn |int |cl_is_anything |NN const struct regnode_charclass_class *cl
Esn |void |cl_init |NN const struct RExC_state_t *pRExC_state \
|NN struct regnode_charclass_class *cl
-Esn |void |cl_init_zero |NN const struct RExC_state_t *pRExC_state \
- |NN struct regnode_charclass_class *cl
Esn |void |cl_and |NN struct regnode_charclass_class *cl \
|NN const struct regnode_charclass_class *and_with
Esn |void |cl_or |NN const struct RExC_state_t *pRExC_state \
@@ -1662,12 +1854,12 @@ Es |U8 |regtail_study |NN struct RExC_state_t *pRExC_state \
# endif
#endif
-#if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_REGEXEC_C)
ERs |I32 |regmatch |NN regmatch_info *reginfo|NN regnode *prog
ERs |I32 |regrepeat |NN const regexp *prog|NN const regnode *p|I32 max|int depth
ERs |I32 |regtry |NN regmatch_info *reginfo|NN char **startpos
-ERs |bool |reginclass |NULLOK const regexp *prog|NN const regnode *n|NN const U8 *p|NULLOK STRLEN *lenp\
- |bool do_utf8sv_is_utf8
+ERs |bool |reginclass |NULLOK const regexp * const prog|NN const regnode * const n|NN const U8 * const p|NULLOK STRLEN *lenp\
+ |bool const do_utf8sv_is_utf8
Es |CHECKPOINT|regcppush |I32 parenfloor
Es |char* |regcppop |NN const regexp *rex
ERsn |U8* |reghop3 |NN U8 *s|I32 off|NN const U8 *lim
@@ -1677,7 +1869,6 @@ ERsn |U8* |reghop4 |NN U8 *s|I32 off|NN const U8 *llim \
#endif
ERsn |U8* |reghopmaybe3 |NN U8 *s|I32 off|NN const U8 *lim
ERs |char* |find_byclass |NN regexp * prog|NN const regnode *c|NN char *s|NN const char *strend|NULLOK regmatch_info *reginfo
-Es |void |swap_match_buff|NN regexp * prog
Es |void |to_utf8_substr |NN regexp * prog
Es |void |to_byte_substr |NN regexp * prog
ERs |I32 |reg_check_named_buff_matched |NN const regexp *rex \
@@ -1691,7 +1882,7 @@ Es |void |debug_start_match|NN const REGEXP *prog|const bool do_utf8\
# endif
#endif
-#if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_DUMP_C)
s |CV* |deb_curcv |const I32 ix
s |void |debprof |NN const OP *o
s |void |sequence |NULLOK const OP *o
@@ -1700,26 +1891,26 @@ s |UV |sequence_num |NULLOK const OP *o
s |SV* |pm_description |NN const PMOP *pm
#endif
-#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_SCOPE_C)
s |SV* |save_scalar_at |NN SV **sptr|const U32 flags
#endif
-#if defined(PERL_IN_GV_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_GV_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_PAD_C) || defined(PERL_IN_OP_C)
: Used in gv.c
po |void |sv_add_backref |NN SV *const tsv|NN SV *const sv
#endif
-#if defined(PERL_IN_HV_C) || defined(PERL_IN_MG_C) || defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_HV_C) || defined(PERL_IN_MG_C) || defined(PERL_IN_SV_C)
: Used in hv.c and mg.c
-poM |int |sv_kill_backrefs |NN SV *const sv|NN AV *const av
+poM |void |sv_kill_backrefs |NN SV *const sv|NULLOK AV *const av
#endif
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+pX |void |sv_del_backref |NN SV *const tsv|NN SV *const sv
+#if defined(PERL_IN_SV_C)
nsR |char * |uiv_2buf |NN char *const buf|const IV iv|UV uv|const int is_uv|NN char **const peob
s |void |sv_unglob |NN SV *const sv
s |void |not_a_number |NN SV *const sv
s |I32 |visit |NN SVFUNC_t f|const U32 flags|const U32 mask
-s |void |sv_del_backref |NN SV *const tsv|NN SV *const sv
sR |SV * |varname |NULLOK const GV *const gv|const char gvtype \
|PADOFFSET targ|NULLOK const SV *const keyname \
|I32 aindex|int subscript_type
@@ -1734,35 +1925,44 @@ s |int |sv_2iuv_non_preserve |NN SV *const sv
# endif
# endif
sR |I32 |expect_number |NN char **const pattern
-#
sn |STRLEN |sv_pos_u2b_forwards|NN const U8 *const start \
- |NN const U8 *const send|STRLEN uoffset
+ |NN const U8 *const send|NN STRLEN *const uoffset \
+ |NN bool *const at_end
sn |STRLEN |sv_pos_u2b_midway|NN const U8 *const start \
- |NN const U8 *send|const STRLEN uoffset|const STRLEN uend
+ |NN const U8 *send|STRLEN uoffset|const STRLEN uend
s |STRLEN |sv_pos_u2b_cached|NN SV *const sv|NN MAGIC **const mgp \
|NN const U8 *const start|NN const U8 *const send \
- |const STRLEN uoffset|STRLEN uoffset0|STRLEN boffset0
+ |STRLEN uoffset|STRLEN uoffset0|STRLEN boffset0
+s |void |utf8_mg_len_cache_update|NN SV *const sv|NN MAGIC **const mgp \
+ |const STRLEN ulen
s |void |utf8_mg_pos_cache_update|NN SV *const sv|NN MAGIC **const mgp \
|const STRLEN byte|const STRLEN utf8|const STRLEN blen
s |STRLEN |sv_pos_b2u_midway|NN const U8 *const s|NN const U8 *const target \
|NN const U8 *end|STRLEN endu
+s |void |assert_uft8_cache_coherent|NN const char *const func \
+ |STRLEN from_cache|STRLEN real|NN SV *const sv
sn |char * |F0convert |NV nv|NN char *const endbuf|NN STRLEN *const len
# if defined(PERL_OLD_COPY_ON_WRITE)
sM |void |sv_release_COW |NN SV *sv|NN const char *pvx|NN SV *after
# endif
s |SV * |more_sv
-s |void * |more_bodies |const svtype sv_type
s |bool |sv_2iuv_common |NN SV *const sv
s |void |glob_assign_glob|NN SV *const dstr|NN SV *const sstr \
|const int dtype
s |void |glob_assign_ref|NN SV *const dstr|NN SV *const sstr
sRn |PTR_TBL_ENT_t *|ptr_table_find|NN PTR_TBL_t *const tbl|NULLOK const void *const sv
+s |void |anonymise_cv_maybe |NN GV *gv|NN CV *cv
#endif
-#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
+: Used in sv.c and hv.c
+po |void * |more_bodies |const svtype sv_type|const size_t body_size \
+ |const size_t arena_size
+
+#if defined(PERL_IN_TOKE_C)
s |void |check_uni
s |void |force_next |I32 type
s |char* |force_version |NN char *s|int guessing
+s |char* |force_strict_version |NN char *s
s |char* |force_word |NN char *start|int token|int check_keyword \
|int allow_pack|int allow_tick
s |SV* |tokeq |NN SV *sv
@@ -1783,9 +1983,12 @@ s |void |update_debugger_info|NULLOK SV *orig_sv \
|NULLOK const char *const buf|STRLEN len
sR |char* |skipspace |NN char *s
sR |char* |swallow_bom |NN U8 *s
+#ifndef PERL_NO_UTF16_FILTER
+s |I32 |utf16_textfilter|int idx|NN SV *sv|int maxlen
+s |U8* |add_utf16_textfilter|NN U8 *const s|bool reversed
+#endif
s |void |checkcomma |NN const char *s|NN const char *name \
|NN const char *what
-s |bool |feature_is_enabled|NN const char *const name|STRLEN namelen
s |void |force_ident |NN const char *s|int kind
s |void |incline |NN const char *s
s |int |intuit_method |NN char *s|NULLOK GV *gv|NULLOK CV *cv
@@ -1796,13 +1999,14 @@ s |void |no_op |NN const char *const what|NULLOK char *s
sR |I32 |sublex_done
sR |I32 |sublex_push
sR |I32 |sublex_start
-sR |char * |filter_gets |NN SV *sv|NN PerlIO *fp|STRLEN append
+sR |char * |filter_gets |NN SV *sv|STRLEN append
sR |HV * |find_in_my_stash|NN const char *pkgname|STRLEN len
sR |char * |tokenize_use |int is_use|NN char *s
so |SV* |new_constant |NULLOK const char *s|STRLEN len \
|NN const char *key|STRLEN keylen|NN SV *sv \
|NULLOK SV *pv|NULLOK const char *type \
|STRLEN typelen
+s |int |deprecate_commaless_var_list
s |int |ao |int toketype
# if defined(PERL_CR_FILTER)
s |I32 |cr_textfilter |int idx|NULLOK SV *sv|int maxlen
@@ -1814,26 +2018,23 @@ s |void |printbuf |NN const char *const fmt|NN const char *const s
# endif
#endif
-#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_UNIVERSAL_C)
s |bool|isa_lookup |NN HV *stash|NN const char * const name
-so |HV * |get_isa_hash |NN HV *const stash
#endif
-#if defined(PERL_IN_LOCALE_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_LOCALE_C)
#if defined(USE_LOCALE_NUMERIC) || defined(USE_LOCALE_COLLATE)
s |char* |stdize_locale |NN char* locs
#endif
#endif
-#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_UTIL_C)
s |const COP*|closest_cop |NN const COP *cop|NULLOK const OP *o
s |SV* |mess_alloc
-s |const char *|vdie_croak_common|NULLOK const char *pat|NULLOK va_list *args \
- |NULLOK STRLEN *msglen|NULLOK I32* utf8
-s |bool |vdie_common |NULLOK const char *message|STRLEN msglen\
- |I32 utf8|bool warn
+s |SV *|with_queued_errors|NN SV *ex
+s |bool |invoke_exception_hook|NULLOK SV *ex|bool warn
sr |char * |write_no_mem
-#if defined(PERL_MEM_LOG) && defined(PERL_MEM_LOG_STDERR)
+#if defined(PERL_MEM_LOG) && !defined(PERL_MEM_LOG_NOIMPL)
sn |void |mem_log_common |enum mem_log_type mlt|const UV n|const UV typesize \
|NN const char *type_name|NULLOK const SV *sv \
|Malloc_t oldalloc|Malloc_t newalloc \
@@ -1842,24 +2043,24 @@ sn |void |mem_log_common |enum mem_log_type mlt|const UV n|const UV typesize \
#endif
#endif
-#if defined(PERL_IN_NUMERIC_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_NUMERIC_C)
sn |NV|mulexp10 |NV value|I32 exponent
#endif
-#if defined(PERL_IN_UTF8_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_UTF8_C)
sRn |STRLEN |is_utf8_char_slow|NN const U8 *s|const STRLEN len
sR |bool |is_utf8_common |NN const U8 *const p|NN SV **swash|NN const char * const swashname
sR |SV* |swash_get |NN SV* swash|UV start|UV span
#endif
-START_EXTERN_C
-
Apd |void |sv_setsv_flags |NN SV *dstr|NULLOK SV *sstr|const I32 flags
Apd |void |sv_catpvn_flags|NN SV *const dstr|NN const char *sstr|const STRLEN len \
|const I32 flags
+Apd |void |sv_catpv_flags |NN SV *dstr|NN const char *sstr \
+ |const I32 flags
Apd |void |sv_catsv_flags |NN SV *const dsv|NULLOK SV *const ssv|const I32 flags
Apmd |STRLEN |sv_utf8_upgrade_flags|NN SV *const sv|const I32 flags
-Apd |STRLEN |sv_utf8_upgrade_flags_grow|NN SV *const sv|const I32 flags|STRLEN extra
+Ap |STRLEN |sv_utf8_upgrade_flags_grow|NN SV *const sv|const I32 flags|STRLEN extra
Apd |char* |sv_pvn_force_flags|NN SV *const sv|NULLOK STRLEN *const lp|const I32 flags
Apd |void |sv_copypv |NN SV *const dsv|NN SV *const ssv
Ap |char* |my_atof2 |NN const char *s|NN NV* value
@@ -1905,7 +2106,7 @@ ApR |PerlIO *|PerlIO_stderr
: Only used in dump.c
p |void |deb_stack_all
-#if defined(PERL_IN_DEB_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_DEB_C)
s |void |deb_stack_n |NN SV** stack_base|I32 stack_min \
|I32 stack_max|I32 mark_min|I32 mark_max
#endif
@@ -1913,14 +2114,15 @@ s |void |deb_stack_n |NN SV** stack_base|I32 stack_min \
: Used in perl.c, pp_ctl.c, toke.c
pda |PADLIST*|pad_new |int flags
: Only used in op.c
-pd |void |pad_undef |NN CV* cv
-: Only used in op.c
-pd |PADOFFSET|pad_add_name |NN const char *name\
- |NULLOK HV* typestash|NULLOK HV* ourstash|bool clone|bool state
+Mpd |PADOFFSET|pad_add_name |NN const char *name|const STRLEN len\
+ |const U32 flags|NULLOK HV *typestash\
+ |NULLOK HV *ourstash
: Only used in op.c
pd |PADOFFSET|pad_add_anon |NN SV* sv|OPCODE op_type
-: Only used in op.c
-pd |void |pad_check_dup |NN const char* name|bool is_our|NN const HV* ourstash
+#if defined(PERL_IN_PAD_C)
+sd |void |pad_check_dup |NN SV *name|const U32 flags \
+ |NULLOK const HV *ourstash
+#endif
#ifdef DEBUGGING
: Only used PAD_SETSV() in op.c
pd |void |pad_setsv |PADOFFSET po|NN SV* sv
@@ -1938,11 +2140,18 @@ pd |void |pad_fixup_inner_anons|NN PADLIST *padlist|NN CV *old_cv|NN CV *new_cv
pdX |void |pad_push |NN PADLIST *padlist|int depth
: Only used in PAD_COMPNAME_TYPE() in op.c
pR |HV* |pad_compname_type|const PADOFFSET po
+: Used in sv.c
+#if defined(USE_ITHREADS)
+pR |AV* |padlist_dup |NULLOK AV *const srcpad \
+ |NN CLONE_PARAMS *const param
+#endif
-#if defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PAD_C)
sd |PADOFFSET|pad_findlex |NN const char *name|NN const CV* cv|U32 seq|int warn \
|NULLOK SV** out_capture|NN SV** out_name_sv \
|NN int *out_flags
+s |PADOFFSET|pad_add_name_sv|NN SV *namesv|const U32 flags \
+ |NULLOK HV *typestash|NULLOK HV *ourstash
# if defined(DEBUGGING)
sd |void |cv_dump |NN const CV *cv|NN const char *title
# endif
@@ -1955,7 +2164,9 @@ p |void |free_tied_hv_pool
pR |int |get_debug_opts |NN const char **s|bool givehelp
#endif
Ap |void |save_set_svflags|NN SV *sv|U32 mask|U32 val
+#ifdef DEBUGGING
Apod |void |hv_assert |NN HV *hv
+#endif
ApdR |SV* |hv_scalar |NN HV *hv
ApoR |I32* |hv_riter_p |NN HV *hv
@@ -1963,9 +2174,13 @@ ApoR |HE** |hv_eiter_p |NN HV *hv
Apo |void |hv_riter_set |NN HV *hv|I32 riter
Apo |void |hv_eiter_set |NN HV *hv|NULLOK HE *eiter
Ap |void |hv_name_set |NN HV *hv|NULLOK const char *name|U32 len|U32 flags
+p |void |hv_ename_add |NN HV *hv|NN const char *name|U32 len \
+ |U32 flags
+p |void |hv_ename_delete|NN HV *hv|NN const char *name|U32 len \
+ |U32 flags
: Used in dump.c and hv.c
poM |AV** |hv_backreferences_p |NN HV *hv
-#if defined(PERL_IN_DUMP_C) || defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_DUMP_C) || defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C)
: Only used in sv.c
poM |void |hv_kill_backrefs |NN HV *hv
#endif
@@ -1977,7 +2192,7 @@ Apo |void |hv_placeholders_set |NN HV *hv|I32 ph
: This is indirectly referenced by globals.c. This is somewhat annoying.
p |SV* |magic_scalarpack|NN HV *hv|NN MAGIC *mg
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_SV_C)
s |SV * |find_hash_subscript|NULLOK const HV *const hv \
|NN const SV *const val
s |I32 |find_array_subscript|NULLOK const AV *const av \
@@ -2077,7 +2292,10 @@ p |void |dump_sv_child |NN SV *sv
#endif
#ifdef PERL_DONT_CREATE_GVSV
-Ap |GV* |gv_SVadd |NN GV* gv
+Apbm |GV* |gv_SVadd |NULLOK GV *gv
+#endif
+#if defined(PERL_IN_UTIL_C)
+s |bool |ckwarn_common |U32 w
#endif
Apo |bool |ckwarn |U32 w
Apo |bool |ckwarn_d |U32 w
@@ -2085,9 +2303,6 @@ Apo |bool |ckwarn_d |U32 w
XEopMa |STRLEN *|new_warnings_bitfield|NULLOK STRLEN *buffer \
|NN const char *const bits|STRLEN size
-: Used in av.c, hv.c
-p |void |offer_nice_chunk |NN void *const chunk|const U32 chunk_size
-
#ifndef SPRINTF_RETURNS_STRLEN
Apnod |int |my_sprintf |NN char *buffer|NN const char *pat|...
#endif
@@ -2107,6 +2322,15 @@ Apo |void* |my_cxt_init |NN int *index|size_t size
#endif
#endif
+: This function is an implementation detail. The public API for this is
+: XS_VERSION_BOOTCHECK
+Xpo |void |xs_version_bootcheck|U32 items|U32 ax|NN const char *xs_p \
+ |STRLEN xs_len
+: This function is an implementation detail. The public API for this is
+: XS_APIVERSION_BOOTCHECK
+Xpo |void |xs_apiversion_bootcheck|NN SV *module|NN const char *api_p \
+ |STRLEN api_len
+
#ifndef HAS_STRLCAT
Apno |Size_t |my_strlcat |NULLOK char *dst|NULLOK const char *src|Size_t size
#endif
@@ -2117,7 +2341,7 @@ Apno |Size_t |my_strlcpy |NULLOK char *dst|NULLOK const char *src|Size_t
#ifdef PERL_MAD
Mnp |void |pad_peg |NN const char* s
-#if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_DUMP_C)
sf |void |xmldump_attr |I32 level|NN PerlIO *file|NN const char* pat \
|...
#endif
@@ -2126,12 +2350,16 @@ Mfp |void |xmldump_indent |I32 level|NN PerlIO *file|NN const char* pat \
Mp |void |xmldump_vindent|I32 level|NN PerlIO *file|NN const char* pat \
|NULLOK va_list *args
Mp |void |xmldump_all
+p |void |xmldump_all_perl |bool justperl
Mp |void |xmldump_packsubs |NN const HV* stash
+p |void |xmldump_packsubs_perl |NN const HV* stash|bool justperl
Mp |void |xmldump_sub |NN const GV* gv
+Mp |void |xmldump_sub_perl |NN const GV* gv|bool justperl
Mp |void |xmldump_form |NN const GV* gv
Mp |void |xmldump_eval
Mp |char* |sv_catxmlsv |NN SV *dsv|NN SV *ssv
Mp |char* |sv_catxmlpvn |NN SV *dsv|NN const char *pv|STRLEN len|int utf8
+Mp |char* |sv_catxmlpv |NN SV *dsv|NN const char *pv|int utf8
Mp |char* |sv_xmlpeek |NN SV* sv
Mp |void |do_pmop_xmldump|I32 level|NN PerlIO *file \
|NULLOK const PMOP *pm
@@ -2150,11 +2378,11 @@ Mp |void |append_madprops|NULLOK MADPROP* tm|NULLOK OP* o|char slot
Mp |void |addmad |NULLOK MADPROP* tm|NULLOK MADPROP** root \
|char slot
Mp |MADPROP*|newMADsv |char key|NN SV* sv
-Mp |MADPROP*|newMADPROP |char key|char type|NULLOK const void* val \
+Mp |MADPROP*|newMADPROP |char key|char type|NULLOK void* val \
|I32 vlen
Mp |void |mad_free |NULLOK MADPROP* mp
-# if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
+# if defined(PERL_IN_TOKE_C)
s |char* |skipspace0 |NN char *s
s |char* |skipspace1 |NN char *s
s |char* |skipspace2 |NN char *s|NULLOK SV **sv
@@ -2162,7 +2390,7 @@ s |void |start_force |int where
s |void |curmad |char slot|NULLOK SV *sv
# endif
Mp |int |madlex
-Mp |int |madparse
+Mp |int |madparse |int gramtype
#endif
#if !defined(HAS_SIGNBIT)
AMdnoP |int |Perl_signbit |NV f
@@ -2189,24 +2417,50 @@ Xpo |struct mro_meta* |mro_meta_init |NN HV* stash
p |struct mro_meta* |mro_meta_dup |NN struct mro_meta* smeta|NN CLONE_PARAMS* param
#endif
Apd |AV* |mro_get_linear_isa|NN HV* stash
-#if defined(PERL_IN_MRO_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_MRO_C)
sd |AV* |mro_get_linear_isa_dfs|NN HV* stash|U32 level
+s |void |mro_clean_isarev|NN HV * const isa \
+ |NN const char * const name \
+ |const STRLEN len \
+ |NULLOK HV * const exceptions
+s |void |mro_gather_and_rename|NN HV * const stashes \
+ |NN HV * const seen_stashes \
+ |NULLOK HV *stash \
+ |NULLOK HV *oldstash \
+ |NN SV *namesv
#endif
: Used in hv.c, mg.c, pp.c, sv.c
pd |void |mro_isa_changed_in|NN HV* stash
Apd |void |mro_method_changed_in |NN HV* stash
+pdx |void |mro_package_moved |NULLOK HV * const stash|NULLOK HV * const oldstash|NN const GV * const gv|U32 flags
: Only used in perl.c
p |void |boot_core_mro
Apon |void |sys_init |NN int* argc|NN char*** argv
Apon |void |sys_init3 |NN int* argc|NN char*** argv|NN char*** env
Apon |void |sys_term
-ApoM |const char *|fetch_cop_label|NULLOK struct refcounted_he *const chain \
+ApoM |const char *|fetch_cop_label|NN COP *const cop \
|NULLOK STRLEN *len|NULLOK U32 *flags
: Only used in op.c
-xpoM |struct refcounted_he *|store_cop_label \
- |NULLOK struct refcounted_he *const chain|NN const char *label
+xpoM |void|store_cop_label \
+ |NN COP *const cop|NN const char *label|STRLEN len|U32 flags
+
+xpo |int |keyword_plugin_standard|NN char* keyword_ptr|STRLEN keyword_len|NN OP** op_ptr
+: Used in perly.y
+xp |void |munge_qwlist_to_paren_list|NN OP* qwlist
+
+#if defined(USE_ITHREADS)
+# if defined(PERL_IN_SV_C)
+s |void |unreferenced_to_tmp_stack|NN AV *const unreferenced
+# endif
+Aanop |CLONE_PARAMS *|clone_params_new|NN PerlInterpreter *const from \
+ |NN PerlInterpreter *const to
+Anop |void |clone_params_del|NN CLONE_PARAMS *param
+#endif
+
+: Used in perl.c and toke.c
+op |void |populate_isa |NN const char *name|STRLEN len|...
+
+: Used in keywords.c and toke.c
+op |bool |feature_is_enabled|NN const char *const name|STRLEN namelen
-END_EXTERN_C
-/*
- * ex: set ts=8 sts=4 sw=4 noet:
- */
+: ex: set ts=8 sts=4 sw=4 noet:
diff --git a/cpan/Devel-PPPort/parts/inc/HvNAME b/cpan/Devel-PPPort/parts/inc/HvNAME
index 135549db26..4d7882c47c 100644
--- a/cpan/Devel-PPPort/parts/inc/HvNAME
+++ b/cpan/Devel-PPPort/parts/inc/HvNAME
@@ -1,12 +1,12 @@
################################################################################
##
-## $Revision: 1 $
+## $Revision: 2 $
## $Author: mhx $
-## $Date: 2009/06/12 12:29:57 +0200 $
+## $Date: 2010/03/07 13:15:44 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
diff --git a/cpan/Devel-PPPort/parts/inc/MY_CXT b/cpan/Devel-PPPort/parts/inc/MY_CXT
index d67af01377..8e1cb4f9ac 100644
--- a/cpan/Devel-PPPort/parts/inc/MY_CXT
+++ b/cpan/Devel-PPPort/parts/inc/MY_CXT
@@ -1,12 +1,12 @@
################################################################################
##
-## $Revision: 16 $
+## $Revision: 17 $
## $Author: mhx $
-## $Date: 2009/01/18 14:10:55 +0100 $
+## $Date: 2010/03/07 13:15:48 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
diff --git a/cpan/Devel-PPPort/parts/inc/SvPV b/cpan/Devel-PPPort/parts/inc/SvPV
index e81fb684c1..a7aace7458 100644
--- a/cpan/Devel-PPPort/parts/inc/SvPV
+++ b/cpan/Devel-PPPort/parts/inc/SvPV
@@ -1,12 +1,12 @@
################################################################################
##
-## $Revision: 22 $
+## $Revision: 23 $
## $Author: mhx $
-## $Date: 2009/01/18 14:10:54 +0100 $
+## $Date: 2010/03/07 13:15:47 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
diff --git a/cpan/Devel-PPPort/parts/inc/SvREFCNT b/cpan/Devel-PPPort/parts/inc/SvREFCNT
index 46c5deb356..3a2f849802 100644
--- a/cpan/Devel-PPPort/parts/inc/SvREFCNT
+++ b/cpan/Devel-PPPort/parts/inc/SvREFCNT
@@ -1,12 +1,12 @@
################################################################################
##
-## $Revision: 5 $
+## $Revision: 6 $
## $Author: mhx $
-## $Date: 2009/01/18 14:10:52 +0100 $
+## $Date: 2010/03/07 13:15:45 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
diff --git a/cpan/Devel-PPPort/parts/inc/Sv_set b/cpan/Devel-PPPort/parts/inc/Sv_set
index 95cf2d672e..2c2ff448f0 100644
--- a/cpan/Devel-PPPort/parts/inc/Sv_set
+++ b/cpan/Devel-PPPort/parts/inc/Sv_set
@@ -1,12 +1,12 @@
################################################################################
##
-## $Revision: 7 $
+## $Revision: 8 $
## $Author: mhx $
-## $Date: 2009/01/18 14:10:53 +0100 $
+## $Date: 2010/03/07 13:15:46 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
diff --git a/cpan/Devel-PPPort/parts/inc/call b/cpan/Devel-PPPort/parts/inc/call
index 85159e22a8..d8f2046be6 100644
--- a/cpan/Devel-PPPort/parts/inc/call
+++ b/cpan/Devel-PPPort/parts/inc/call
@@ -1,12 +1,12 @@
################################################################################
##
-## $Revision: 19 $
+## $Revision: 20 $
## $Author: mhx $
-## $Date: 2009/01/23 18:27:48 +0100 $
+## $Date: 2010/03/07 13:15:46 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
diff --git a/cpan/Devel-PPPort/parts/inc/cop b/cpan/Devel-PPPort/parts/inc/cop
index 7c8674112d..a797109a4f 100644
--- a/cpan/Devel-PPPort/parts/inc/cop
+++ b/cpan/Devel-PPPort/parts/inc/cop
@@ -1,12 +1,12 @@
################################################################################
##
-## $Revision: 8 $
+## $Revision: 9 $
## $Author: mhx $
-## $Date: 2009/01/18 14:10:54 +0100 $
+## $Date: 2010/03/07 13:15:47 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
diff --git a/cpan/Devel-PPPort/parts/inc/exception b/cpan/Devel-PPPort/parts/inc/exception
index 122277bbb1..5fcc99d8c8 100644
--- a/cpan/Devel-PPPort/parts/inc/exception
+++ b/cpan/Devel-PPPort/parts/inc/exception
@@ -1,12 +1,12 @@
################################################################################
##
-## $Revision: 7 $
+## $Revision: 8 $
## $Author: mhx $
-## $Date: 2009/01/18 14:10:53 +0100 $
+## $Date: 2010/03/07 13:15:46 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
diff --git a/cpan/Devel-PPPort/parts/inc/format b/cpan/Devel-PPPort/parts/inc/format
index d39670416c..3a95b10a2b 100644
--- a/cpan/Devel-PPPort/parts/inc/format
+++ b/cpan/Devel-PPPort/parts/inc/format
@@ -1,12 +1,12 @@
################################################################################
##
-## $Revision: 9 $
+## $Revision: 10 $
## $Author: mhx $
-## $Date: 2009/01/18 14:10:55 +0100 $
+## $Date: 2010/03/07 13:15:48 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
diff --git a/cpan/Devel-PPPort/parts/inc/grok b/cpan/Devel-PPPort/parts/inc/grok
index 5e32f8e990..1db6db3bca 100644
--- a/cpan/Devel-PPPort/parts/inc/grok
+++ b/cpan/Devel-PPPort/parts/inc/grok
@@ -1,12 +1,12 @@
################################################################################
##
-## $Revision: 16 $
+## $Revision: 17 $
## $Author: mhx $
-## $Date: 2009/01/18 14:10:55 +0100 $
+## $Date: 2010/03/07 13:15:49 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
diff --git a/cpan/Devel-PPPort/parts/inc/gv b/cpan/Devel-PPPort/parts/inc/gv
index 1b911e738d..e17d259675 100644
--- a/cpan/Devel-PPPort/parts/inc/gv
+++ b/cpan/Devel-PPPort/parts/inc/gv
@@ -1,12 +1,12 @@
################################################################################
##
-## $Revision: 1 $
+## $Revision: 4 $
## $Author: mhx $
-## $Date: 2009/06/12 12:29:56 +0200 $
+## $Date: 2010/03/07 13:15:44 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
@@ -23,6 +23,10 @@ __UNDEFINED__
__UNDEFINED__ GvSVn(gv) GvSV(gv)
__UNDEFINED__ isGV_with_GP(gv) isGV(gv)
+__UNDEFINED__ gv_fetchpvn_flags(name, len, flags, svt) gv_fetchpv(name, flags, svt)
+__UNDEFINED__ gv_fetchsv(name, flags, svt) gv_fetchpv(SvPV_nolen_const(name), flags, svt)
+
+__UNDEFINED__ get_cvn_flags(name, namelen, flags) get_cv(name, flags)
=xsubs
@@ -58,9 +62,44 @@ isGV_with_GP()
OUTPUT:
RETVAL
+int
+get_cvn_flags()
+ PREINIT:
+ CV* xv;
+ CODE:
+ RETVAL = 0;
+ xv = get_cvn_flags("Devel::PPPort::foobar", sizeof("Devel::PPPort::foobar")-1, 0);
+ if(xv == NULL) RETVAL++;
+ xv = get_cvn_flags("Devel::PPPort::foobar", sizeof("Devel::PPPort::foobar")-1, GV_ADDMULTI);
+ if(xv && SvTYPE(xv) == SVt_PVCV) RETVAL++;
+ xv = get_cvn_flags("Devel::PPPort::get_cvn_flags", sizeof("Devel::PPPort::get_cvn_flags")-1, 0);
+ if(xv && SvTYPE(xv) == SVt_PVCV) RETVAL++;
+ OUTPUT:
+ RETVAL
+
+SV*
+gv_fetchpvn_flags()
+ CODE:
+ RETVAL = newRV_inc((SV*)gv_fetchpvn_flags("Devel::PPPort::VERSION", sizeof("Devel::PPPort::VERSION")-1, 0, SVt_PV));
+ OUTPUT:
+ RETVAL
+
+SV*
+gv_fetchsv(name)
+ SV *name
+ CODE:
+ RETVAL = newRV_inc((SV*)gv_fetchsv(name, 0, SVt_PV));
+ OUTPUT:
+ RETVAL
-=tests plan => 2
+=tests plan => 5
ok(Devel::PPPort::GvSVn(), 1);
-ok(Devel::PPPort::isGV_with_GP(), 2)
+ok(Devel::PPPort::isGV_with_GP(), 2);
+
+ok(Devel::PPPort::get_cvn_flags(), 3);
+
+ok(Devel::PPPort::gv_fetchpvn_flags(), \*Devel::PPPort::VERSION);
+
+ok(Devel::PPPort::gv_fetchsv("Devel::PPPort::VERSION"), \*Devel::PPPort::VERSION);
diff --git a/cpan/Devel-PPPort/parts/inc/limits b/cpan/Devel-PPPort/parts/inc/limits
index 25b3940179..b745ee9448 100644
--- a/cpan/Devel-PPPort/parts/inc/limits
+++ b/cpan/Devel-PPPort/parts/inc/limits
@@ -1,12 +1,12 @@
################################################################################
##
-## $Revision: 7 $
+## $Revision: 8 $
## $Author: mhx $
-## $Date: 2009/01/18 14:10:54 +0100 $
+## $Date: 2010/03/07 13:15:47 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
diff --git a/cpan/Devel-PPPort/parts/inc/mPUSH b/cpan/Devel-PPPort/parts/inc/mPUSH
index 3613058837..52292c0fad 100644
--- a/cpan/Devel-PPPort/parts/inc/mPUSH
+++ b/cpan/Devel-PPPort/parts/inc/mPUSH
@@ -1,12 +1,12 @@
################################################################################
##
-## $Revision: 11 $
+## $Revision: 12 $
## $Author: mhx $
-## $Date: 2009/01/18 14:10:54 +0100 $
+## $Date: 2010/03/07 13:15:47 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
diff --git a/cpan/Devel-PPPort/parts/inc/magic b/cpan/Devel-PPPort/parts/inc/magic
index 31721715ea..558feddd95 100644
--- a/cpan/Devel-PPPort/parts/inc/magic
+++ b/cpan/Devel-PPPort/parts/inc/magic
@@ -1,12 +1,12 @@
################################################################################
##
-## $Revision: 17 $
+## $Revision: 21 $
## $Author: mhx $
-## $Date: 2009/01/18 14:10:55 +0100 $
+## $Date: 2010/03/07 13:15:49 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
@@ -358,9 +358,10 @@ ok($h{sv}, 4711);
&Devel::PPPort::sv_usepvn_mg($h{sv}, 'Perl');
ok($h{sv}, 'Perl');
-my $ver = eval qq[qv("v1.2.0")];
-ok($[ < 5.009 || $@ eq '');
-ok($@ || Devel::PPPort::SvVSTRING_mg($ver));
+# v1 is treated as a bareword in older perls...
+my $ver = do { local $SIG{'__WARN__'} = sub {}; eval qq[v1.2.0] };
+ok($] < 5.009 || $@ eq '');
+ok($] < 5.009 || Devel::PPPort::SvVSTRING_mg($ver));
ok(!Devel::PPPort::SvVSTRING_mg(4711));
my $foo = 'bar';
diff --git a/cpan/Devel-PPPort/parts/inc/memory b/cpan/Devel-PPPort/parts/inc/memory
index 761d80c959..4d7ae4828f 100644
--- a/cpan/Devel-PPPort/parts/inc/memory
+++ b/cpan/Devel-PPPort/parts/inc/memory
@@ -1,12 +1,12 @@
################################################################################
##
-## $Revision: 5 $
+## $Revision: 7 $
## $Author: mhx $
-## $Date: 2009/01/18 14:10:53 +0100 $
+## $Date: 2010/03/07 13:15:46 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
@@ -29,6 +29,10 @@ __UNDEFINED__ memNE(s1,s2,l) (bcmp(s1,s2,l))
__UNDEFINED__ memEQ(s1,s2,l) (!bcmp(s1,s2,l))
#endif
+__UNDEFINED__ memEQs(s1, l, s2) \
+ (sizeof(s2)-1 == l && memEQ(s1, (s2 ""), (sizeof(s2)-1)))
+__UNDEFINED__ memNEs(s1, l, s2) !memEQs(s1, l, s2)
+
__UNDEFINED__ MoveD(s,d,n,t) memmove((char*)(d),(char*)(s), (n) * sizeof(t))
__UNDEFINED__ CopyD(s,d,n,t) memcpy((char*)(d),(char*)(s), (n) * sizeof(t))
#ifdef HAS_MEMSET
@@ -62,9 +66,13 @@ checkmem()
ZeroD(p, 6, char);
if (memEQ(p, "\0\0\0\0\0\0", 6))
RETVAL++;
+ if (memEQs(p, 6, "\0\0\0\0\0\0"))
+ RETVAL++;
Poison(p, 6, char);
if (memNE(p, "\0\0\0\0\0\0", 6))
RETVAL++;
+ if (memNEs(p, 6, "\0\0\0\0\0\0"))
+ RETVAL++;
Safefree(p);
Newxz(p, 6, char);
@@ -80,5 +88,5 @@ checkmem()
=tests plan => 1
-ok(Devel::PPPort::checkmem(), 4);
+ok(Devel::PPPort::checkmem(), 6);
diff --git a/cpan/Devel-PPPort/parts/inc/misc b/cpan/Devel-PPPort/parts/inc/misc
index 3844bbb317..59c326a56a 100644
--- a/cpan/Devel-PPPort/parts/inc/misc
+++ b/cpan/Devel-PPPort/parts/inc/misc
@@ -1,12 +1,12 @@
################################################################################
##
-## $Revision: 53 $
+## $Revision: 56 $
## $Author: mhx $
-## $Date: 2009/03/31 23:05:55 +0200 $
+## $Date: 2011/09/10 20:38:10 +0200 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
@@ -275,8 +275,8 @@ __UNDEFINED__ isXDIGIT(c) isxdigit(c)
# undef isPRINT
# endif
__UNDEFINED__ isALNUMC(c) (isALPHA(c) || isDIGIT(c))
-__UNDEFINED__ isASCII(c) ((c) <= 127)
-__UNDEFINED__ isCNTRL(c) ((c) < ' ' || (c) == 127)
+__UNDEFINED__ isASCII(c) ((U8) (c) <= 127)
+__UNDEFINED__ isCNTRL(c) ((U8) (c) < ' ' || (c) == 127)
__UNDEFINED__ isGRAPH(c) (isALNUM(c) || isPUNCT(c))
__UNDEFINED__ isPRINT(c) (((c) >= 32 && (c) < 127))
__UNDEFINED__ isPUNCT(c) (((c) >= 33 && (c) <= 47) || ((c) >= 58 && (c) <= 64) || ((c) >= 91 && (c) <= 96) || ((c) >= 123 && (c) <= 126))
@@ -475,7 +475,6 @@ Perl_ppaddr_t(string)
Perl_ppaddr_t lower;
PPCODE:
lower = PL_ppaddr[OP_LC];
- PUSHMARK(SP);
mXPUSHs(newSVpv(string, 0));
PUTBACK;
ENTER;
diff --git a/cpan/Devel-PPPort/parts/inc/newCONSTSUB b/cpan/Devel-PPPort/parts/inc/newCONSTSUB
index 4b266d7990..d536f8b319 100644
--- a/cpan/Devel-PPPort/parts/inc/newCONSTSUB
+++ b/cpan/Devel-PPPort/parts/inc/newCONSTSUB
@@ -1,12 +1,12 @@
################################################################################
##
-## $Revision: 15 $
+## $Revision: 16 $
## $Author: mhx $
-## $Date: 2009/01/18 14:10:55 +0100 $
+## $Date: 2010/03/07 13:15:48 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
diff --git a/cpan/Devel-PPPort/parts/inc/newRV b/cpan/Devel-PPPort/parts/inc/newRV
index 1467d1ae9d..3d0a2d25ad 100644
--- a/cpan/Devel-PPPort/parts/inc/newRV
+++ b/cpan/Devel-PPPort/parts/inc/newRV
@@ -1,12 +1,12 @@
################################################################################
##
-## $Revision: 9 $
+## $Revision: 10 $
## $Author: mhx $
-## $Date: 2009/01/18 14:10:55 +0100 $
+## $Date: 2010/03/07 13:15:48 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
diff --git a/cpan/Devel-PPPort/parts/inc/newSV_type b/cpan/Devel-PPPort/parts/inc/newSV_type
index 06ebdb4100..104dba9370 100644
--- a/cpan/Devel-PPPort/parts/inc/newSV_type
+++ b/cpan/Devel-PPPort/parts/inc/newSV_type
@@ -1,12 +1,12 @@
################################################################################
##
-## $Revision: 1 $
+## $Revision: 2 $
## $Author: mhx $
-## $Date: 2009/06/12 12:29:57 +0200 $
+## $Date: 2010/03/07 13:15:44 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
diff --git a/cpan/Devel-PPPort/parts/inc/newSVpv b/cpan/Devel-PPPort/parts/inc/newSVpv
index 3a38549f98..6925a7a34f 100644
--- a/cpan/Devel-PPPort/parts/inc/newSVpv
+++ b/cpan/Devel-PPPort/parts/inc/newSVpv
@@ -1,12 +1,12 @@
################################################################################
##
-## $Revision: 6 $
+## $Revision: 7 $
## $Author: mhx $
-## $Date: 2009/01/18 14:10:51 +0100 $
+## $Date: 2010/03/07 13:15:44 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
diff --git a/cpan/Devel-PPPort/parts/inc/podtest b/cpan/Devel-PPPort/parts/inc/podtest
index ceea0cf7a2..83dd440807 100644
--- a/cpan/Devel-PPPort/parts/inc/podtest
+++ b/cpan/Devel-PPPort/parts/inc/podtest
@@ -1,12 +1,12 @@
################################################################################
##
-## $Revision: 9 $
+## $Revision: 10 $
## $Author: mhx $
-## $Date: 2009/01/18 14:10:52 +0100 $
+## $Date: 2010/03/07 13:15:45 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
diff --git a/cpan/Devel-PPPort/parts/inc/ppphbin b/cpan/Devel-PPPort/parts/inc/ppphbin
index 583f266a77..83fe71a7d3 100644
--- a/cpan/Devel-PPPort/parts/inc/ppphbin
+++ b/cpan/Devel-PPPort/parts/inc/ppphbin
@@ -1,12 +1,12 @@
################################################################################
##
-## $Revision: 50 $
+## $Revision: 51 $
## $Author: mhx $
-## $Date: 2009/01/18 14:10:54 +0100 $
+## $Date: 2010/03/07 13:15:48 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
diff --git a/cpan/Devel-PPPort/parts/inc/ppphdoc b/cpan/Devel-PPPort/parts/inc/ppphdoc
index 62d484106f..addd581e3f 100644
--- a/cpan/Devel-PPPort/parts/inc/ppphdoc
+++ b/cpan/Devel-PPPort/parts/inc/ppphdoc
@@ -1,12 +1,12 @@
################################################################################
##
-## $Revision: 32 $
+## $Revision: 33 $
## $Author: mhx $
-## $Date: 2009/01/18 14:10:54 +0100 $
+## $Date: 2010/03/07 13:15:47 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
@@ -336,7 +336,7 @@ module from CPAN.
=head1 COPYRIGHT
-Version 3.x, Copyright (c) 2004-2009, Marcus Holland-Moritz.
+Version 3.x, Copyright (c) 2004-2010, Marcus Holland-Moritz.
Version 2.x, Copyright (C) 2001, Paul Marquess.
diff --git a/cpan/Devel-PPPort/parts/inc/ppphtest b/cpan/Devel-PPPort/parts/inc/ppphtest
index f94cc7de2d..8deccacb74 100644
--- a/cpan/Devel-PPPort/parts/inc/ppphtest
+++ b/cpan/Devel-PPPort/parts/inc/ppphtest
@@ -1,12 +1,12 @@
################################################################################
##
-## $Revision: 46 $
+## $Revision: 47 $
## $Author: mhx $
-## $Date: 2009/01/23 18:28:00 +0100 $
+## $Date: 2010/03/07 13:15:46 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
diff --git a/cpan/Devel-PPPort/parts/inc/pv_tools b/cpan/Devel-PPPort/parts/inc/pv_tools
index c7e4c1e907..71f007c8a2 100644
--- a/cpan/Devel-PPPort/parts/inc/pv_tools
+++ b/cpan/Devel-PPPort/parts/inc/pv_tools
@@ -1,12 +1,12 @@
################################################################################
##
-## $Revision: 5 $
+## $Revision: 6 $
## $Author: mhx $
-## $Date: 2009/01/18 14:10:51 +0100 $
+## $Date: 2010/03/07 13:15:44 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
diff --git a/cpan/Devel-PPPort/parts/inc/pvs b/cpan/Devel-PPPort/parts/inc/pvs
index 71485ad32e..082b297ec7 100644
--- a/cpan/Devel-PPPort/parts/inc/pvs
+++ b/cpan/Devel-PPPort/parts/inc/pvs
@@ -1,12 +1,12 @@
################################################################################
##
-## $Revision: 11 $
+## $Revision: 14 $
## $Author: mhx $
-## $Date: 2009/06/12 12:19:15 +0200 $
+## $Date: 2010/03/07 13:15:45 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
@@ -30,15 +30,21 @@ __UNDEFINED__ STR_WITH_LEN(s) (s ""), (sizeof(s)-1)
__UNDEFINED__ newSVpvs(str) newSVpvn(str "", sizeof(str) - 1)
__UNDEFINED__ newSVpvs_flags(str, flags) newSVpvn_flags(str "", sizeof(str) - 1, flags)
+__UNDEFINED__ newSVpvs_share(str) newSVpvn_share(str "", sizeof(str) - 1, 0)
__UNDEFINED__ sv_catpvs(sv, str) sv_catpvn(sv, str "", sizeof(str) - 1)
__UNDEFINED__ sv_setpvs(sv, str) sv_setpvn(sv, str "", sizeof(str) - 1)
__UNDEFINED__ hv_fetchs(hv, key, lval) hv_fetch(hv, key "", sizeof(key) - 1, lval)
__UNDEFINED__ hv_stores(hv, key, val) hv_store(hv, key "", sizeof(key) - 1, val, 0)
-__UNDEFINED__ gv_fetchpvn_flags(name, len, flags, svt) gv_fetchpv(name, flags, svt)
__UNDEFINED__ gv_fetchpvs(name, flags, svt) gv_fetchpvn_flags(name "", sizeof(name) - 1, flags, svt)
__UNDEFINED__ gv_stashpvs(name, flags) gv_stashpvn(name "", sizeof(name) - 1, flags)
+__UNDEFINED__ get_cvs(name, flags) get_cvn_flags(name "", sizeof(name)-1, flags)
+
+=xsinit
+
+#define NEED_newSVpvn_share
+
=xsubs
void
@@ -53,6 +59,22 @@ newSVpvs_flags()
XPUSHs(newSVpvs_flags("newSVpvs_flags", SVs_TEMP));
XSRETURN(1);
+int
+newSVpvs_share()
+ PREINIT:
+ SV *sv;
+ U32 hash;
+ CODE:
+ RETVAL = 0;
+ PERL_HASH(hash, "pvs", 3);
+ sv = newSVpvs_share("pvs");
+ RETVAL += strEQ(SvPV_nolen_const(sv), "pvs");
+ RETVAL += SvCUR(sv) == 3;
+ RETVAL += SvSHARED_HASH(sv) == hash;
+ SvREFCNT_dec(sv);
+ OUTPUT:
+ RETVAL
+
void
sv_catpvs(sv)
SV *sv
@@ -83,13 +105,6 @@ hv_stores(hv, sv)
(void) hv_stores((HV *) SvRV(hv), "hv_stores", SvREFCNT_inc_simple(sv));
SV*
-gv_fetchpvn_flags()
- CODE:
- RETVAL = newRV_inc((SV*)gv_fetchpvn_flags("Devel::PPPort::VERSION", sizeof("Devel::PPPort::VERSION")-1, 0, SVt_PV));
- OUTPUT:
- RETVAL
-
-SV*
gv_fetchpvs()
CODE:
RETVAL = newRV_inc((SV*)gv_fetchpvs("Devel::PPPort::VERSION", 0, SVt_PV));
@@ -103,13 +118,29 @@ gv_stashpvs()
OUTPUT:
RETVAL
+int
+get_cvs()
+ PREINIT:
+ CV* xv;
+ CODE:
+ RETVAL = 0;
+ xv = get_cvs("Devel::PPPort::foobar", 0);
+ if(xv == NULL) RETVAL++;
+ xv = get_cvs("Devel::PPPort::foobar", GV_ADDMULTI);
+ if(xv && SvTYPE(xv) == SVt_PVCV) RETVAL++;
+ xv = get_cvs("Devel::PPPort::get_cvs", 0);
+ if(xv && SvTYPE(xv) == SVt_PVCV) RETVAL++;
+OUTPUT:
+ RETVAL
-=tests plan => 11
+
+=tests plan => 12
my $x = 'foo';
ok(Devel::PPPort::newSVpvs(), "newSVpvs");
ok(Devel::PPPort::newSVpvs_flags(), "newSVpvs_flags");
+ok(Devel::PPPort::newSVpvs_share(), 3);
Devel::PPPort::sv_catpvs($x);
ok($x, "foosv_catpvs");
@@ -123,6 +154,7 @@ ok(scalar keys %h, 2);
ok(exists $h{'hv_stores'});
ok($h{'hv_stores'}, 4711);
ok(Devel::PPPort::hv_fetchs(\%h), 42);
-ok(Devel::PPPort::gv_fetchpvn_flags(), \*Devel::PPPort::VERSION);
-ok(Devel::PPPort::gv_fetchpvs(), \*Devel::PPPort::VERSION);
-ok(Devel::PPPort::gv_stashpvs(), \%Devel::PPPort::);
+ok(Devel::PPPort::gv_fetchpvs(), \*Devel::PPPort::VERSION);
+ok(Devel::PPPort::gv_stashpvs(), \%Devel::PPPort::);
+
+ok(Devel::PPPort::get_cvs(), 3);
diff --git a/cpan/Devel-PPPort/parts/inc/shared_pv b/cpan/Devel-PPPort/parts/inc/shared_pv
index db779be835..76b5dee061 100644
--- a/cpan/Devel-PPPort/parts/inc/shared_pv
+++ b/cpan/Devel-PPPort/parts/inc/shared_pv
@@ -1,12 +1,12 @@
################################################################################
##
-## $Revision: 5 $
+## $Revision: 7 $
## $Author: mhx $
-## $Date: 2009/01/18 14:10:52 +0100 $
+## $Date: 2010/03/07 13:15:44 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
@@ -22,6 +22,12 @@ __UNDEFINED__
=implementation
+/* Hint: newSVpvn_share
+ * The SVs created by this function only mimic the behaviour of
+ * shared PVs without really being shared. Only use if you know
+ * what you're doing.
+ */
+
#ifndef newSVpvn_share
#if { NEED newSVpvn_share }
diff --git a/cpan/Devel-PPPort/parts/inc/snprintf b/cpan/Devel-PPPort/parts/inc/snprintf
index 310bfbaa10..a2d20397d5 100644
--- a/cpan/Devel-PPPort/parts/inc/snprintf
+++ b/cpan/Devel-PPPort/parts/inc/snprintf
@@ -1,12 +1,12 @@
################################################################################
##
-## $Revision: 6 $
+## $Revision: 7 $
## $Author: mhx $
-## $Date: 2009/01/18 14:10:52 +0100 $
+## $Date: 2010/03/07 13:15:45 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
diff --git a/cpan/Devel-PPPort/parts/inc/sprintf b/cpan/Devel-PPPort/parts/inc/sprintf
index 6756f9abc9..c7452dc524 100644
--- a/cpan/Devel-PPPort/parts/inc/sprintf
+++ b/cpan/Devel-PPPort/parts/inc/sprintf
@@ -1,12 +1,12 @@
################################################################################
##
-## $Revision: 2 $
+## $Revision: 3 $
## $Author: mhx $
-## $Date: 2009/01/18 14:10:51 +0100 $
+## $Date: 2010/03/07 13:15:44 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
diff --git a/cpan/Devel-PPPort/parts/inc/strlfuncs b/cpan/Devel-PPPort/parts/inc/strlfuncs
index d351703e19..f29ccb3f85 100644
--- a/cpan/Devel-PPPort/parts/inc/strlfuncs
+++ b/cpan/Devel-PPPort/parts/inc/strlfuncs
@@ -1,12 +1,12 @@
################################################################################
##
-## $Revision: 6 $
+## $Revision: 7 $
## $Author: mhx $
-## $Date: 2009/01/18 14:10:52 +0100 $
+## $Date: 2010/03/07 13:15:45 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
diff --git a/cpan/Devel-PPPort/parts/inc/sv_xpvf b/cpan/Devel-PPPort/parts/inc/sv_xpvf
index 3c990c6e93..c2ad0dfc92 100644
--- a/cpan/Devel-PPPort/parts/inc/sv_xpvf
+++ b/cpan/Devel-PPPort/parts/inc/sv_xpvf
@@ -1,12 +1,12 @@
################################################################################
##
-## $Revision: 10 $
+## $Revision: 11 $
## $Author: mhx $
-## $Date: 2009/01/18 14:10:53 +0100 $
+## $Date: 2010/03/07 13:15:46 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
diff --git a/cpan/Devel-PPPort/parts/inc/threads b/cpan/Devel-PPPort/parts/inc/threads
index 518bdf1fcb..7df6bd7f8f 100644
--- a/cpan/Devel-PPPort/parts/inc/threads
+++ b/cpan/Devel-PPPort/parts/inc/threads
@@ -1,12 +1,12 @@
################################################################################
##
-## $Revision: 11 $
+## $Revision: 12 $
## $Author: mhx $
-## $Date: 2009/01/18 14:10:53 +0100 $
+## $Date: 2010/03/07 13:15:47 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
diff --git a/cpan/Devel-PPPort/parts/inc/uv b/cpan/Devel-PPPort/parts/inc/uv
index 5fdec7afa0..d1ddd3449d 100644
--- a/cpan/Devel-PPPort/parts/inc/uv
+++ b/cpan/Devel-PPPort/parts/inc/uv
@@ -1,12 +1,12 @@
################################################################################
##
-## $Revision: 17 $
+## $Revision: 18 $
## $Author: mhx $
-## $Date: 2009/01/18 14:10:54 +0100 $
+## $Date: 2010/03/07 13:15:47 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
diff --git a/cpan/Devel-PPPort/parts/inc/variables b/cpan/Devel-PPPort/parts/inc/variables
index 3fbb566a98..aee0bb13d2 100644
--- a/cpan/Devel-PPPort/parts/inc/variables
+++ b/cpan/Devel-PPPort/parts/inc/variables
@@ -1,12 +1,12 @@
################################################################################
##
-## $Revision: 20 $
+## $Revision: 22 $
## $Author: mhx $
-## $Date: 2009/06/12 04:10:50 +0200 $
+## $Date: 2011/04/13 09:39:16 +0200 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
@@ -383,8 +383,10 @@ other_variables()
ppp_TESTVAR(PL_debstash);
ppp_TESTVAR(PL_defgv);
ppp_TESTVAR(PL_diehook);
-#if PERL_VERSION >= 14
- ppp_PARSERVAR_dummy;
+#if { VERSION >= 5.13.7 }
+ /* can't get a pointer any longer */
+ mXPUSHi(PL_dirty ? 1 : 1);
+ count++;
#else
ppp_TESTVAR(PL_dirty);
#endif
diff --git a/cpan/Devel-PPPort/parts/inc/version b/cpan/Devel-PPPort/parts/inc/version
index ca8d8a6e35..ce87f76f80 100644
--- a/cpan/Devel-PPPort/parts/inc/version
+++ b/cpan/Devel-PPPort/parts/inc/version
@@ -1,12 +1,12 @@
################################################################################
##
-## $Revision: 10 $
+## $Revision: 11 $
## $Author: mhx $
-## $Date: 2009/01/18 14:10:54 +0100 $
+## $Date: 2010/03/07 13:15:48 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
diff --git a/cpan/Devel-PPPort/parts/inc/warn b/cpan/Devel-PPPort/parts/inc/warn
index 76bd881e97..779239fbee 100644
--- a/cpan/Devel-PPPort/parts/inc/warn
+++ b/cpan/Devel-PPPort/parts/inc/warn
@@ -1,12 +1,12 @@
################################################################################
##
-## $Revision: 7 $
+## $Revision: 8 $
## $Author: mhx $
-## $Date: 2009/01/18 14:10:52 +0100 $
+## $Date: 2010/03/07 13:15:45 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
diff --git a/cpan/Devel-PPPort/parts/ppport.fnc b/cpan/Devel-PPPort/parts/ppport.fnc
index 567955e3bc..f5f4032d33 100644
--- a/cpan/Devel-PPPort/parts/ppport.fnc
+++ b/cpan/Devel-PPPort/parts/ppport.fnc
@@ -4,13 +4,13 @@
:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:
-: $Revision: 3 $
+: $Revision: 4 $
: $Author: mhx $
-: $Date: 2009/01/18 14:10:51 +0100 $
+: $Date: 2010/03/07 13:15:43 +0100 $
:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:
-: Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+: Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
: Version 2.x, Copyright (C) 2001, Paul Marquess.
: Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
:
diff --git a/cpan/Devel-PPPort/parts/ppptools.pl b/cpan/Devel-PPPort/parts/ppptools.pl
index 36830eb186..2487a41b1b 100644
--- a/cpan/Devel-PPPort/parts/ppptools.pl
+++ b/cpan/Devel-PPPort/parts/ppptools.pl
@@ -4,13 +4,13 @@
#
################################################################################
#
-# $Revision: 27 $
+# $Revision: 29 $
# $Author: mhx $
-# $Date: 2009/01/18 14:10:51 +0100 $
+# $Date: 2010/03/07 13:15:43 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
@@ -312,17 +312,22 @@ sub parse_embed
my @e = split /\s*\|\s*/, $line;
if( @e >= 3 ) {
my($flags, $ret, $name, @args) = @e;
- for (@args) {
- $_ = [trim_arg($_)];
+ if ($name =~ /^[^\W\d]\w*$/) {
+ for (@args) {
+ $_ = [trim_arg($_)];
+ }
+ ($ret) = trim_arg($ret);
+ push @func, {
+ name => $name,
+ flags => { map { $_, 1 } $flags =~ /./g },
+ ret => $ret,
+ args => \@args,
+ cond => ppcond(\@pps),
+ };
+ }
+ else {
+ warn "mysterious name [$name] in $file, line $.\n";
}
- ($ret) = trim_arg($ret);
- push @func, {
- name => $name,
- flags => { map { $_, 1 } $flags =~ /./g },
- ret => $ret,
- args => \@args,
- cond => ppcond(\@pps),
- };
}
}
}
diff --git a/cpan/Devel-PPPort/parts/todo/5005000 b/cpan/Devel-PPPort/parts/todo/5005000
index b99f61e20e..c4f43694dc 100644
--- a/cpan/Devel-PPPort/parts/todo/5005000
+++ b/cpan/Devel-PPPort/parts/todo/5005000
@@ -18,6 +18,7 @@ regnext # E (Perl_regnext)
runops_debug # U
runops_standard # U
save_iv # U (save_iv)
+save_op # U
screaminstr # E (Perl_screaminstr)
sv_iv # U
sv_nv # U
diff --git a/cpan/Devel-PPPort/parts/todo/5006000 b/cpan/Devel-PPPort/parts/todo/5006000
index 4e4f83e3b5..c2df4ee334 100644
--- a/cpan/Devel-PPPort/parts/todo/5006000
+++ b/cpan/Devel-PPPort/parts/todo/5006000
@@ -45,8 +45,6 @@ init_i18nl10n # U (perl_init_i18nl10n)
init_i18nl14n # U (perl_init_i18nl14n)
is_uni_alnum # U
is_uni_alnum_lc # U
-is_uni_alnumc # U
-is_uni_alnumc_lc # U
is_uni_alpha # U
is_uni_alpha_lc # U
is_uni_ascii # U
@@ -72,7 +70,6 @@ is_uni_upper_lc # U
is_uni_xdigit # U
is_uni_xdigit_lc # U
is_utf8_alnum # U
-is_utf8_alnumc # U
is_utf8_alpha # U
is_utf8_ascii # U
is_utf8_char # U
diff --git a/cpan/Devel-PPPort/parts/todo/5007003 b/cpan/Devel-PPPort/parts/todo/5007003
index 2271d2bcd9..00ad0b6803 100644
--- a/cpan/Devel-PPPort/parts/todo/5007003
+++ b/cpan/Devel-PPPort/parts/todo/5007003
@@ -1,4 +1,7 @@
5.007003
+OP_DESC # U
+OP_NAME # U
+PL_peepp # E
PerlIO_clearerr # U (PerlIO_clearerr)
PerlIO_close # U (PerlIO_close)
PerlIO_eof # U (PerlIO_eof)
diff --git a/cpan/Devel-PPPort/parts/todo/5008009 b/cpan/Devel-PPPort/parts/todo/5008009
new file mode 100644
index 0000000000..129e018f45
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5008009
@@ -0,0 +1 @@
+5.008009
diff --git a/cpan/Devel-PPPort/parts/todo/5009002 b/cpan/Devel-PPPort/parts/todo/5009002
index d00dcdac9b..5678492aef 100644
--- a/cpan/Devel-PPPort/parts/todo/5009002
+++ b/cpan/Devel-PPPort/parts/todo/5009002
@@ -1,7 +1,6 @@
5.009002
SvPVbyte_force # U
find_rundefsvoffset # U
-gv_fetchsv # U
op_refcnt_lock # U
op_refcnt_unlock # U
savesvpv # U
diff --git a/cpan/Devel-PPPort/parts/todo/5009003 b/cpan/Devel-PPPort/parts/todo/5009003
index 6a69c9f043..5c843c7450 100644
--- a/cpan/Devel-PPPort/parts/todo/5009003
+++ b/cpan/Devel-PPPort/parts/todo/5009003
@@ -17,9 +17,7 @@ hv_riter_set # U
is_utf8_string_loclen # U
newGIVENOP # U
newSVhek # U
-newSVpvs_share # U
newWHENOP # U
-newWHILEOP # E (Perl_newWHILEOP)
savepvs # U
sortsv_flags # U
vverify # U
diff --git a/cpan/Devel-PPPort/parts/todo/5009004 b/cpan/Devel-PPPort/parts/todo/5009004
index 0d6b7d5051..6295708cd6 100644
--- a/cpan/Devel-PPPort/parts/todo/5009004
+++ b/cpan/Devel-PPPort/parts/todo/5009004
@@ -1,6 +1,7 @@
5.009004
PerlIO_context_layers # U
gv_name_set # U
+hv_copy_hints_hv # U
my_vsnprintf # U
newXS_flags # U
regclass_swash # E (Perl_regclass_swash)
diff --git a/cpan/Devel-PPPort/parts/todo/5009005 b/cpan/Devel-PPPort/parts/todo/5009005
index 8b84717446..c1540dfdf7 100644
--- a/cpan/Devel-PPPort/parts/todo/5009005
+++ b/cpan/Devel-PPPort/parts/todo/5009005
@@ -1,11 +1,12 @@
5.009005
+PL_parser # E
Perl_signbit # U
SvRX # U
SvRXOK # U
av_create_and_push # U
av_create_and_unshift_one # U
-get_cvn_flags # U
gv_fetchfile_flags # U
+lex_start # E (Perl_lex_start)
mro_get_linear_isa # U
mro_method_changed_in # U
my_dirfd # U
diff --git a/cpan/Devel-PPPort/parts/todo/5010001 b/cpan/Devel-PPPort/parts/todo/5010001
new file mode 100644
index 0000000000..9b95518946
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5010001
@@ -0,0 +1,14 @@
+5.010001
+HeUTF8 # U
+croak_xs_usage # U
+mro_get_from_name # U
+mro_get_private_data # U
+mro_register # U
+mro_set_mro # U
+mro_set_private_data # U
+save_hints # U
+save_padsv_and_mortalize # U
+save_pushi32ptr # U
+save_pushptr # U
+save_pushptrptr # U
+sv_insert_flags # U
diff --git a/cpan/Devel-PPPort/parts/todo/5011000 b/cpan/Devel-PPPort/parts/todo/5011000
index f58fa28417..eca9a51dbb 100644
--- a/cpan/Devel-PPPort/parts/todo/5011000
+++ b/cpan/Devel-PPPort/parts/todo/5011000
@@ -1,27 +1,15 @@
5.011000
-HeUTF8 # U
-MULTICALL # E
-PERL_SYS_TERM # E
-POP_MULTICALL # E
-PUSH_MULTICALL # E
+Gv_AMupdate # E (Perl_Gv_AMupdate)
+PL_opfreehook # E
SvOOK_offset # U
av_iter_p # U
-croak_xs_usage # U
fetch_cop_label # U
+gv_add_by_type # U
gv_fetchmethod_flags # U
-hv_assert # U
-mro_get_from_name # U
-mro_get_private_data # U
-mro_register # U
-mro_set_mro # U
-mro_set_private_data # U
-pad_sv # U
+is_ascii_string # U
pregfree2 # U
-ref # U (Perl_ref)
save_adelete # U
+save_aelem_flags # U
+save_hdelete # U
save_helem_flags # U
-save_padsv_and_mortalize # U
-save_pushptr # U
-stashpv_hvname_match # U
-sv_insert_flags # U
sv_utf8_upgrade_flags_grow # U
diff --git a/cpan/Devel-PPPort/parts/todo/5011001 b/cpan/Devel-PPPort/parts/todo/5011001
new file mode 100644
index 0000000000..f42409363b
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5011001
@@ -0,0 +1,6 @@
+5.011001
+ck_warner # U
+ck_warner_d # U
+is_utf8_perl_space # U
+is_utf8_perl_word # U
+is_utf8_posix_digit # U
diff --git a/cpan/Devel-PPPort/parts/todo/5011002 b/cpan/Devel-PPPort/parts/todo/5011002
new file mode 100644
index 0000000000..4e66714450
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5011002
@@ -0,0 +1,14 @@
+5.011002
+PL_keyword_plugin # E
+lex_bufutf8 # U
+lex_discard_to # U
+lex_grow_linestr # U
+lex_next_chunk # U
+lex_peek_unichar # U
+lex_read_space # U
+lex_read_to # U
+lex_read_unichar # U
+lex_stuff_pvn # U
+lex_stuff_sv # U
+lex_unstuff # U
+pad_findmy # E (Perl_pad_findmy)
diff --git a/cpan/Devel-PPPort/parts/todo/5011003 b/cpan/Devel-PPPort/parts/todo/5011003
new file mode 100644
index 0000000000..3fd94ca1b6
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5011003
@@ -0,0 +1 @@
+5.011003
diff --git a/cpan/Devel-PPPort/parts/todo/5011004 b/cpan/Devel-PPPort/parts/todo/5011004
new file mode 100644
index 0000000000..86c1fce4f2
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5011004
@@ -0,0 +1,2 @@
+5.011004
+prescan_version # U
diff --git a/cpan/Devel-PPPort/parts/todo/5011005 b/cpan/Devel-PPPort/parts/todo/5011005
new file mode 100644
index 0000000000..d9b0d6a4c9
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5011005
@@ -0,0 +1,2 @@
+5.011005
+sv_pos_u2b_flags # U
diff --git a/cpan/Devel-PPPort/parts/todo/5012000 b/cpan/Devel-PPPort/parts/todo/5012000
new file mode 100644
index 0000000000..82cbce2d6d
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5012000
@@ -0,0 +1 @@
+5.012000
diff --git a/cpan/Devel-PPPort/parts/todo/5012001 b/cpan/Devel-PPPort/parts/todo/5012001
new file mode 100644
index 0000000000..90dc03fdf3
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5012001
@@ -0,0 +1 @@
+5.012001
diff --git a/cpan/Devel-PPPort/parts/todo/5012002 b/cpan/Devel-PPPort/parts/todo/5012002
new file mode 100644
index 0000000000..8ab87f08d8
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5012002
@@ -0,0 +1 @@
+5.012002
diff --git a/cpan/Devel-PPPort/parts/todo/5012003 b/cpan/Devel-PPPort/parts/todo/5012003
new file mode 100644
index 0000000000..f2abab4c17
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5012003
@@ -0,0 +1 @@
+5.012003
diff --git a/cpan/Devel-PPPort/parts/todo/5013000 b/cpan/Devel-PPPort/parts/todo/5013000
new file mode 100644
index 0000000000..f2f116d2fa
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5013000
@@ -0,0 +1 @@
+5.013000
diff --git a/cpan/Devel-PPPort/parts/todo/5013001 b/cpan/Devel-PPPort/parts/todo/5013001
new file mode 100644
index 0000000000..679bf3c35e
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5013001
@@ -0,0 +1,6 @@
+5.013001
+croak_sv # U
+die_sv # U
+mess_sv # U
+sv_2nv_flags # U
+warn_sv # U
diff --git a/cpan/Devel-PPPort/parts/todo/5013002 b/cpan/Devel-PPPort/parts/todo/5013002
new file mode 100644
index 0000000000..fa6d99b407
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5013002
@@ -0,0 +1,9 @@
+5.013002
+SvNV_nomg # U
+find_rundefsv # U
+foldEQ # U
+foldEQ_locale # U
+foldEQ_utf8 # U
+hv_fill # U
+sv_dec_nomg # U
+sv_inc_nomg # U
diff --git a/cpan/Devel-PPPort/parts/todo/5013003 b/cpan/Devel-PPPort/parts/todo/5013003
new file mode 100644
index 0000000000..5e04f03c8a
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5013003
@@ -0,0 +1,3 @@
+5.013003
+blockhook_register # E
+croak_no_modify # U
diff --git a/cpan/Devel-PPPort/parts/todo/5013004 b/cpan/Devel-PPPort/parts/todo/5013004
new file mode 100644
index 0000000000..20b0810cbe
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5013004
@@ -0,0 +1,2 @@
+5.013004
+XS_APIVERSION_BOOTCHECK # E
diff --git a/cpan/Devel-PPPort/parts/todo/5013005 b/cpan/Devel-PPPort/parts/todo/5013005
new file mode 100644
index 0000000000..88c7c7b80b
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5013005
@@ -0,0 +1,6 @@
+5.013005
+PL_rpeepp # E
+caller_cx # U
+isOCTAL # U
+lex_stuff_pvs # U
+parse_fullstmt # U
diff --git a/cpan/Devel-PPPort/parts/todo/5013006 b/cpan/Devel-PPPort/parts/todo/5013006
new file mode 100644
index 0000000000..9b7d2a0b2a
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5013006
@@ -0,0 +1,33 @@
+5.013006
+LINKLIST # U
+SvTRUE_nomg # U
+ck_entersub_args_list # U
+ck_entersub_args_proto # U
+ck_entersub_args_proto_or_list # U
+cv_get_call_checker # E
+cv_set_call_checker # E
+isWORDCHAR # U
+lex_stuff_pv # U
+mg_free_type # U
+newSVpv_share # U
+op_append_elem # U
+op_append_list # U
+op_contextualize # U
+op_linklist # U
+op_prepend_elem # U
+parse_stmtseq # U
+rv2cv_op_cv # U
+savesharedpvs # U
+savesharedsvpv # U
+sv_2bool_flags # U
+sv_catpv_flags # U
+sv_catpv_nomg # U
+sv_catpvs_flags # U
+sv_catpvs_mg # U
+sv_catpvs_nomg # U
+sv_cmp_flags # U
+sv_cmp_locale_flags # U
+sv_collxfrm_flags # U
+sv_eq_flags # U
+sv_setpvs_mg # U
+sv_setref_pvs # U
diff --git a/cpan/Devel-PPPort/parts/todo/5013007 b/cpan/Devel-PPPort/parts/todo/5013007
new file mode 100644
index 0000000000..79a9a5f44a
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5013007
@@ -0,0 +1,36 @@
+5.013007
+HvENAME # U
+OP_CLASS # U
+SvPV_nomg_nolen # U
+XopFLAGS # E
+amagic_deref_call # U
+bytes_cmp_utf8 # U
+cop_hints_2hv # A
+cop_hints_fetch_pv # U
+cop_hints_fetch_pvn # U
+cop_hints_fetch_pvs # U
+cop_hints_fetch_sv # U
+cophh_2hv # E
+cophh_copy # E
+cophh_delete_pv # E
+cophh_delete_pvn # E
+cophh_delete_pvs # E
+cophh_delete_sv # E
+cophh_fetch_pv # E
+cophh_fetch_pvn # E
+cophh_fetch_pvs # E
+cophh_fetch_sv # E
+cophh_free # E
+cophh_store_pv # E
+cophh_store_pvn # E
+cophh_store_pvs # E
+cophh_store_sv # E
+custom_op_register # E
+custom_op_xop # E
+newFOROP # A
+newWHILEOP # A
+op_lvalue # U
+op_scope # U
+parse_barestmt # U
+parse_block # U
+parse_label # U
diff --git a/cpan/Devel-PPPort/parts/todo/5013008 b/cpan/Devel-PPPort/parts/todo/5013008
new file mode 100644
index 0000000000..5c315d671b
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5013008
@@ -0,0 +1,8 @@
+5.013008
+foldEQ_latin1 # U
+mg_findext # U
+parse_arithexpr # U
+parse_fullexpr # U
+parse_listexpr # U
+parse_termexpr # U
+sv_unmagicext # U
diff --git a/cpan/Devel-PPPort/parts/todo/5013009 b/cpan/Devel-PPPort/parts/todo/5013009
new file mode 100644
index 0000000000..51160ae344
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5013009
@@ -0,0 +1 @@
+5.013009
diff --git a/cpan/Devel-PPPort/parts/todo/5013010 b/cpan/Devel-PPPort/parts/todo/5013010
new file mode 100644
index 0000000000..d7f4365bfb
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5013010
@@ -0,0 +1,4 @@
+5.013010
+foldEQ_utf8_flags # U
+is_utf8_xidcont # U
+is_utf8_xidfirst # U
diff --git a/cpan/Devel-PPPort/parts/todo/5013011 b/cpan/Devel-PPPort/parts/todo/5013011
new file mode 100644
index 0000000000..a33715f749
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5013011
@@ -0,0 +1 @@
+5.013011
diff --git a/cpan/Devel-PPPort/parts/todo/5014000 b/cpan/Devel-PPPort/parts/todo/5014000
new file mode 100644
index 0000000000..2a7401a975
--- /dev/null
+++ b/cpan/Devel-PPPort/parts/todo/5014000
@@ -0,0 +1,17 @@
+5.014000
+BhkDISABLE # E
+BhkENABLE # E
+BhkENTRY_set # E
+MULTICALL # E
+PERL_SYS_TERM # E
+POP_MULTICALL # E
+PUSH_MULTICALL # E
+XopDISABLE # E
+XopENABLE # E
+XopENTRY # E
+XopENTRY_set # E
+cophh_new_empty # E
+my_lstat # U (Perl_my_lstat)
+my_stat # U (Perl_my_stat)
+ref # U (Perl_ref)
+stashpv_hvname_match # U
diff --git a/cpan/Devel-PPPort/ppport_h.PL b/cpan/Devel-PPPort/ppport_h.PL
index e652c352d9..ef42335380 100644
--- a/cpan/Devel-PPPort/ppport_h.PL
+++ b/cpan/Devel-PPPort/ppport_h.PL
@@ -4,13 +4,13 @@
#
################################################################################
#
-# $Revision: 7 $
+# $Revision: 8 $
# $Author: mhx $
-# $Date: 2006/06/25 03:41:08 +0200 $
+# $Date: 2010/03/07 13:16:55 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2006, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
diff --git a/cpan/Devel-PPPort/soak b/cpan/Devel-PPPort/soak
index 1e9807068c..43b1283b67 100644
--- a/cpan/Devel-PPPort/soak
+++ b/cpan/Devel-PPPort/soak
@@ -7,13 +7,13 @@
#
################################################################################
#
-# $Revision: 19 $
+# $Revision: 20 $
# $Author: mhx $
-# $Date: 2009/01/18 14:10:50 +0100 $
+# $Date: 2010/03/07 13:15:42 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
@@ -33,7 +33,7 @@ use File::Find;
use List::Util qw(max);
use Config;
-my $VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.19 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' };
+my $VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.20 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' };
$| = 1;
my %OPT = (
@@ -589,7 +589,7 @@ going on, use the I<--verbose> option:
=head1 COPYRIGHT
-Version 3.x, Copyright (c) 2004-2009, Marcus Holland-Moritz.
+Version 3.x, Copyright (c) 2004-2010, Marcus Holland-Moritz.
Version 2.x, Copyright (C) 2001, Paul Marquess.
diff --git a/cpan/Devel-PPPort/t/gv.t b/cpan/Devel-PPPort/t/gv.t
index 3bf9ce6cef..66722f27a0 100644
--- a/cpan/Devel-PPPort/t/gv.t
+++ b/cpan/Devel-PPPort/t/gv.t
@@ -30,9 +30,9 @@ BEGIN {
require 'testutil.pl' if $@;
}
- if (2) {
+ if (5) {
load();
- plan(tests => 2);
+ plan(tests => 5);
}
}
@@ -50,5 +50,11 @@ package main;
ok(Devel::PPPort::GvSVn(), 1);
-ok(Devel::PPPort::isGV_with_GP(), 2)
+ok(Devel::PPPort::isGV_with_GP(), 2);
+
+ok(Devel::PPPort::get_cvn_flags(), 3);
+
+ok(Devel::PPPort::gv_fetchpvn_flags(), \*Devel::PPPort::VERSION);
+
+ok(Devel::PPPort::gv_fetchsv("Devel::PPPort::VERSION"), \*Devel::PPPort::VERSION);
diff --git a/cpan/Devel-PPPort/t/magic.t b/cpan/Devel-PPPort/t/magic.t
index 23b19ed438..0bfe0535f2 100644
--- a/cpan/Devel-PPPort/t/magic.t
+++ b/cpan/Devel-PPPort/t/magic.t
@@ -84,9 +84,10 @@ ok($h{sv}, 4711);
&Devel::PPPort::sv_usepvn_mg($h{sv}, 'Perl');
ok($h{sv}, 'Perl');
-my $ver = eval qq[qv("v1.2.0")];
-ok($[ < 5.009 || $@ eq '');
-ok($@ || Devel::PPPort::SvVSTRING_mg($ver));
+# v1 is treated as a bareword in older perls...
+my $ver = do { local $SIG{'__WARN__'} = sub {}; eval qq[v1.2.0] };
+ok($] < 5.009 || $@ eq '');
+ok($] < 5.009 || Devel::PPPort::SvVSTRING_mg($ver));
ok(!Devel::PPPort::SvVSTRING_mg(4711));
my $foo = 'bar';
diff --git a/cpan/Devel-PPPort/t/memory.t b/cpan/Devel-PPPort/t/memory.t
index 501b819864..74ecb991bc 100644
--- a/cpan/Devel-PPPort/t/memory.t
+++ b/cpan/Devel-PPPort/t/memory.t
@@ -48,5 +48,5 @@ bootstrap Devel::PPPort;
package main;
-ok(Devel::PPPort::checkmem(), 4);
+ok(Devel::PPPort::checkmem(), 6);
diff --git a/cpan/Devel-PPPort/t/ppphtest.t b/cpan/Devel-PPPort/t/ppphtest.t
index ae97b74171..fe4ade08e7 100644
--- a/cpan/Devel-PPPort/t/ppphtest.t
+++ b/cpan/Devel-PPPort/t/ppphtest.t
@@ -12,6 +12,8 @@
BEGIN {
if ($ENV{'PERL_CORE'}) {
+ chdir 't' if -d 't';
+ @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
require Config; import Config;
use vars '%Config';
if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
diff --git a/cpan/Devel-PPPort/t/pvs.t b/cpan/Devel-PPPort/t/pvs.t
index 7886096615..ff4d3e0586 100644
--- a/cpan/Devel-PPPort/t/pvs.t
+++ b/cpan/Devel-PPPort/t/pvs.t
@@ -30,9 +30,9 @@ BEGIN {
require 'testutil.pl' if $@;
}
- if (11) {
+ if (12) {
load();
- plan(tests => 11);
+ plan(tests => 12);
}
}
@@ -52,6 +52,7 @@ my $x = 'foo';
ok(Devel::PPPort::newSVpvs(), "newSVpvs");
ok(Devel::PPPort::newSVpvs_flags(), "newSVpvs_flags");
+ok(Devel::PPPort::newSVpvs_share(), 3);
Devel::PPPort::sv_catpvs($x);
ok($x, "foosv_catpvs");
@@ -65,7 +66,8 @@ ok(scalar keys %h, 2);
ok(exists $h{'hv_stores'});
ok($h{'hv_stores'}, 4711);
ok(Devel::PPPort::hv_fetchs(\%h), 42);
-ok(Devel::PPPort::gv_fetchpvn_flags(), \*Devel::PPPort::VERSION);
-ok(Devel::PPPort::gv_fetchpvs(), \*Devel::PPPort::VERSION);
-ok(Devel::PPPort::gv_stashpvs(), \%Devel::PPPort::);
+ok(Devel::PPPort::gv_fetchpvs(), \*Devel::PPPort::VERSION);
+ok(Devel::PPPort::gv_stashpvs(), \%Devel::PPPort::);
+
+ok(Devel::PPPort::get_cvs(), 3);
diff --git a/cpan/Devel-PPPort/typemap b/cpan/Devel-PPPort/typemap
index 7225c4076d..b18d5e40e5 100644
--- a/cpan/Devel-PPPort/typemap
+++ b/cpan/Devel-PPPort/typemap
@@ -4,13 +4,13 @@
#
################################################################################
#
-# $Revision: 9 $
+# $Revision: 10 $
# $Author: mhx $
-# $Date: 2009/06/12 04:07:19 +0200 $
+# $Date: 2010/03/07 13:15:40 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index 97f1a22ebd..4b60d1ceb7 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -162,6 +162,10 @@ L<CPANPLUS::Dist::Build> has been upgraded from version 0.56 to version 0.58.
=item *
+L<Devel::PPPort> has been upgraded from version 3.19 to version 3.20.
+
+=item *
+
L<diagnostics> has been upgraded from version 1.24 to version 1.25.
It now strips out C<SZ<><...>> formatting codes before displaying