From: Marcus Holland-Moritz Date: Fri, 4 Jan 2008 14:10:18 +0000 (+0000) Subject: Upgrade to Devel::PPPort 3.13_01 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=c1a049cb5a821110aa1344009c4cef983084d049;p=p5sagit%2Fp5-mst-13.2.git Upgrade to Devel::PPPort 3.13_01 p4raw-id: //depot/perl@32827 --- diff --git a/MANIFEST b/MANIFEST index 2fda8c1..f15f492 100644 --- a/MANIFEST +++ b/MANIFEST @@ -257,6 +257,8 @@ ext/Devel/PPPort/parts/base/5009002 Devel::PPPort baseline todo file ext/Devel/PPPort/parts/base/5009003 Devel::PPPort baseline todo file ext/Devel/PPPort/parts/base/5009004 Devel::PPPort baseline todo file ext/Devel/PPPort/parts/base/5009005 Devel::PPPort baseline todo file +ext/Devel/PPPort/parts/base/5010000 Devel::PPPort baseline todo file +ext/Devel/PPPort/parts/base/5011000 Devel::PPPort baseline todo file ext/Devel/PPPort/parts/embed.fnc Devel::PPPort Perl API listing ext/Devel/PPPort/parts/inc/call Devel::PPPort include ext/Devel/PPPort/parts/inc/cop Devel::PPPort include @@ -271,6 +273,7 @@ ext/Devel/PPPort/parts/inc/mPUSH Devel::PPPort include ext/Devel/PPPort/parts/inc/MY_CXT Devel::PPPort include ext/Devel/PPPort/parts/inc/newCONSTSUB Devel::PPPort include ext/Devel/PPPort/parts/inc/newRV Devel::PPPort include +ext/Devel/PPPort/parts/inc/newSVpv Devel::PPPort include ext/Devel/PPPort/parts/inc/podtest Devel::PPPort include ext/Devel/PPPort/parts/inc/ppphbin Devel::PPPort include ext/Devel/PPPort/parts/inc/ppphdoc Devel::PPPort include @@ -323,6 +326,8 @@ ext/Devel/PPPort/parts/todo/5009002 Devel::PPPort todo file ext/Devel/PPPort/parts/todo/5009003 Devel::PPPort todo file ext/Devel/PPPort/parts/todo/5009004 Devel::PPPort todo file ext/Devel/PPPort/parts/todo/5009005 Devel::PPPort todo file +ext/Devel/PPPort/parts/todo/5010000 Devel::PPPort todo file +ext/Devel/PPPort/parts/todo/5011000 Devel::PPPort todo file ext/Devel/PPPort/ppport_h.PL Devel::PPPort ppport.h writer ext/Devel/PPPort/PPPort_pm.PL Devel::PPPort PPPort.pm writer ext/Devel/PPPort/PPPort.xs Devel::PPPort dummy PPPort.xs @@ -341,7 +346,7 @@ ext/Devel/PPPort/t/mPUSH.t Devel::PPPort test file ext/Devel/PPPort/t/MY_CXT.t Devel::PPPort test file ext/Devel/PPPort/t/newCONSTSUB.t Devel::PPPort test file ext/Devel/PPPort/t/newRV.t Devel::PPPort test file -ext/Devel/PPPort/TODO Devel::PPPort Todo +ext/Devel/PPPort/t/newSVpv.t Devel::PPPort test file ext/Devel/PPPort/t/podtest.t Devel::PPPort test file ext/Devel/PPPort/t/ppphtest.t Devel::PPPort test file ext/Devel/PPPort/t/pvs.t Devel::PPPort test file @@ -357,6 +362,7 @@ ext/Devel/PPPort/t/threads.t Devel::PPPort test file ext/Devel/PPPort/t/uv.t Devel::PPPort test file ext/Devel/PPPort/t/variables.t Devel::PPPort test file ext/Devel/PPPort/t/warn.t Devel::PPPort test file +ext/Devel/PPPort/TODO Devel::PPPort Todo ext/Devel/PPPort/typemap Devel::PPPort Typemap ext/Digest/MD5/Changes Digest::MD5 extension changes ext/Digest/MD5/hints/dec_osf.pl Hints for named architecture diff --git a/ext/Devel/PPPort/Changes b/ext/Devel/PPPort/Changes index 60ca7c4..fb1face 100755 --- a/ext/Devel/PPPort/Changes +++ b/ext/Devel/PPPort/Changes @@ -1,3 +1,17 @@ +3.13_01 - 2008-01-04 + + * fix dependency detection algorithm for functions + * fix some potential memory leaks in the test suite + * no need to use *_mg functions for mX?PUSH macros + * added support for the following API + mPUSHs + mXPUSHs + newSVpvn_flags + newSVpvn_utf8 + newSVpvs_flags + SVf_UTF8 + * make sure soak works with cromfs + 3.13 - 2007-10-04 * fix cpan #29748: ppport.h problems with perl5.005_05 diff --git a/ext/Devel/PPPort/HACKERS b/ext/Devel/PPPort/HACKERS index dfdc78c..0a80fb2 100644 --- a/ext/Devel/PPPort/HACKERS +++ b/ext/Devel/PPPort/HACKERS @@ -11,15 +11,15 @@ lying around in this distribution. =head1 DESCRIPTION -=head2 How to build 111 versions of Perl +=head2 How to build 114 versions of Perl C supports Perl versions between 5.003 and bleadperl. To guarantee this support, I need some of these versions on my -machine. I currently have 111 different Perl version/configuration +machine. I currently have 114 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 111 Perls by hand +cleanly on newer systems (and because building 114 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. It can currently build the following Perl releases: @@ -31,6 +31,7 @@ It can currently build the following Perl releases: 5.7.x 5.8.x 5.9.x + 5.10.x =head2 Fully automatic API checks @@ -308,7 +309,7 @@ module in the core: =head1 COPYRIGHT -Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. Version 2.x, Copyright (C) 2001, Paul Marquess. diff --git a/ext/Devel/PPPort/Makefile.PL b/ext/Devel/PPPort/Makefile.PL index 0638bed..3a7597c 100644 --- a/ext/Devel/PPPort/Makefile.PL +++ b/ext/Devel/PPPort/Makefile.PL @@ -4,13 +4,13 @@ # ################################################################################ # -# $Revision: 27 $ +# $Revision: 28 $ # $Author: mhx $ -# $Date: 2007/01/02 12:32:27 +0100 $ +# $Date: 2008/01/04 10:47:38 +0100 $ # ################################################################################ # -# Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +# Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. # Version 2.x, Copyright (C) 2001, Paul Marquess. # Version 1.x, Copyright (C) 1999, Kenneth Albanowski. # diff --git a/ext/Devel/PPPort/PPPort_pm.PL b/ext/Devel/PPPort/PPPort_pm.PL index 6701beb..ea0be6d 100644 --- a/ext/Devel/PPPort/PPPort_pm.PL +++ b/ext/Devel/PPPort/PPPort_pm.PL @@ -4,13 +4,13 @@ # ################################################################################ # -# $Revision: 57 $ +# $Revision: 59 $ # $Author: mhx $ -# $Date: 2007/09/11 23:28:24 +0200 $ +# $Date: 2008/01/04 10:47:38 +0100 $ # ################################################################################ # -# Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +# Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. # Version 2.x, Copyright (C) 2001, Paul Marquess. # Version 1.x, Copyright (C) 1999, Kenneth Albanowski. # @@ -345,13 +345,13 @@ __DATA__ # ################################################################################ # -# $Revision: 57 $ +# $Revision: 59 $ # $Author: mhx $ -# $Date: 2007/09/11 23:28:24 +0200 $ +# $Date: 2008/01/04 10:47:38 +0100 $ # ################################################################################ # -# Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +# Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. # Version 2.x, Copyright (C) 2001, Paul Marquess. # Version 1.x, Copyright (C) 1999, Kenneth Albanowski. # @@ -488,7 +488,7 @@ Version 3.x was ported back to CPAN by Marcus Holland-Moritz. =head1 COPYRIGHT -Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. Version 2.x, Copyright (C) 2001, Paul Marquess. @@ -508,7 +508,7 @@ package Devel::PPPort; use strict; use vars qw($VERSION $data); -$VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.13 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' }; +$VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.13_01 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' }; sub _init_data { @@ -601,6 +601,8 @@ __DATA__ %include SvREFCNT +%include newSVpv + %include SvPV %include Sv_set diff --git a/ext/Devel/PPPort/PPPort_xs.PL b/ext/Devel/PPPort/PPPort_xs.PL index 5e265a3..704fedb 100644 --- a/ext/Devel/PPPort/PPPort_xs.PL +++ b/ext/Devel/PPPort/PPPort_xs.PL @@ -4,13 +4,13 @@ # ################################################################################ # -# $Revision: 13 $ +# $Revision: 14 $ # $Author: mhx $ -# $Date: 2007/01/02 12:32:26 +0100 $ +# $Date: 2008/01/04 10:47:37 +0100 $ # ################################################################################ # -# Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +# Version 3.x, Copyright (C) 2004-2008, 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: 13 $ +* $Revision: 14 $ * $Author: mhx $ -* $Date: 2007/01/02 12:32:26 +0100 $ +* $Date: 2008/01/04 10:47:37 +0100 $ * ******************************************************************************** * -* Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +* Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. * Version 2.x, Copyright (C) 2001, Paul Marquess. * Version 1.x, Copyright (C) 1999, Kenneth Albanowski. * diff --git a/ext/Devel/PPPort/README b/ext/Devel/PPPort/README index 4b9751c..42def29 100644 --- a/ext/Devel/PPPort/README +++ b/ext/Devel/PPPort/README @@ -69,7 +69,7 @@ to create a ticket for the module. 5. COPYRIGHT ------------ -Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. Version 2.x, Copyright (C) 2001, Paul Marquess. Version 1.x, Copyright (C) 1999, Kenneth Albanowski. diff --git a/ext/Devel/PPPort/apicheck_c.PL b/ext/Devel/PPPort/apicheck_c.PL index 9e56a79..35ba9ed 100644 --- a/ext/Devel/PPPort/apicheck_c.PL +++ b/ext/Devel/PPPort/apicheck_c.PL @@ -4,13 +4,13 @@ # ################################################################################ # -# $Revision: 9 $ +# $Revision: 10 $ # $Author: mhx $ -# $Date: 2007/01/02 12:32:27 +0100 $ +# $Date: 2008/01/04 10:47:37 +0100 $ # ################################################################################ # -# Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +# Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. # Version 2.x, Copyright (C) 2001, Paul Marquess. # Version 1.x, Copyright (C) 1999, Kenneth Albanowski. # diff --git a/ext/Devel/PPPort/devel/buildperl.pl b/ext/Devel/PPPort/devel/buildperl.pl index a85ad4f..a54f11f 100644 --- a/ext/Devel/PPPort/devel/buildperl.pl +++ b/ext/Devel/PPPort/devel/buildperl.pl @@ -5,13 +5,13 @@ # ################################################################################ # -# $Revision: 12 $ +# $Revision: 13 $ # $Author: mhx $ -# $Date: 2007/08/12 15:06:31 +0200 $ +# $Date: 2008/01/04 10:47:39 +0100 $ # ################################################################################ # -# Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +# Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. # Version 2.x, Copyright (C) 2001, Paul Marquess. # Version 1.x, Copyright (C) 1999, Kenneth Albanowski. # @@ -498,7 +498,7 @@ and don't install them, run: =head1 COPYRIGHT -Copyright (c) 2004-2007, Marcus Holland-Moritz. +Copyright (c) 2004-2008, 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/ext/Devel/PPPort/devel/devtools.pl b/ext/Devel/PPPort/devel/devtools.pl index 7574136..a94c634 100644 --- a/ext/Devel/PPPort/devel/devtools.pl +++ b/ext/Devel/PPPort/devel/devtools.pl @@ -4,13 +4,13 @@ # ################################################################################ # -# $Revision: 3 $ +# $Revision: 4 $ # $Author: mhx $ -# $Date: 2007/08/12 08:45:38 +0200 $ +# $Date: 2008/01/04 10:47:38 +0100 $ # ################################################################################ # -# Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +# Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. # Version 2.x, Copyright (C) 2001, Paul Marquess. # Version 1.x, Copyright (C) 1999, Kenneth Albanowski. # diff --git a/ext/Devel/PPPort/devel/mkapidoc.sh b/ext/Devel/PPPort/devel/mkapidoc.sh index ea53d0b..5f7ad93 100644 --- a/ext/Devel/PPPort/devel/mkapidoc.sh +++ b/ext/Devel/PPPort/devel/mkapidoc.sh @@ -5,13 +5,13 @@ # ################################################################################ # -# $Revision: 10 $ +# $Revision: 11 $ # $Author: mhx $ -# $Date: 2007/08/12 11:50:36 +0200 $ +# $Date: 2008/01/04 10:47:39 +0100 $ # ################################################################################ # -# Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +# Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. # Version 2.x, Copyright (C) 2001, Paul Marquess. # Version 1.x, Copyright (C) 1999, Kenneth Albanowski. # diff --git a/ext/Devel/PPPort/devel/mktodo b/ext/Devel/PPPort/devel/mktodo index 1ba7065..2981926 100644 --- a/ext/Devel/PPPort/devel/mktodo +++ b/ext/Devel/PPPort/devel/mktodo @@ -5,13 +5,13 @@ # ################################################################################ # -# $Revision: 14 $ +# $Revision: 15 $ # $Author: mhx $ -# $Date: 2007/08/12 08:45:40 +0200 $ +# $Date: 2008/01/04 10:47:39 +0100 $ # ################################################################################ # -# Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +# Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. # Version 2.x, Copyright (C) 2001, Paul Marquess. # Version 1.x, Copyright (C) 1999, Kenneth Albanowski. # diff --git a/ext/Devel/PPPort/devel/mktodo.pl b/ext/Devel/PPPort/devel/mktodo.pl index 773badc..b8414c2 100644 --- a/ext/Devel/PPPort/devel/mktodo.pl +++ b/ext/Devel/PPPort/devel/mktodo.pl @@ -5,13 +5,13 @@ # ################################################################################ # -# $Revision: 14 $ +# $Revision: 15 $ # $Author: mhx $ -# $Date: 2007/08/12 08:45:39 +0200 $ +# $Date: 2008/01/04 10:47:39 +0100 $ # ################################################################################ # -# Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +# Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. # Version 2.x, Copyright (C) 2001, Paul Marquess. # Version 1.x, Copyright (C) 1999, Kenneth Albanowski. # diff --git a/ext/Devel/PPPort/devel/regenerate b/ext/Devel/PPPort/devel/regenerate index 4a40d84..8bb1106 100644 --- a/ext/Devel/PPPort/devel/regenerate +++ b/ext/Devel/PPPort/devel/regenerate @@ -5,13 +5,13 @@ # ################################################################################ # -# $Revision: 6 $ +# $Revision: 7 $ # $Author: mhx $ -# $Date: 2007/08/12 08:45:39 +0200 $ +# $Date: 2008/01/04 10:47:39 +0100 $ # ################################################################################ # -# Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +# Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. # Version 2.x, Copyright (C) 2001, Paul Marquess. # Version 1.x, Copyright (C) 1999, Kenneth Albanowski. # @@ -148,7 +148,7 @@ regenerate - Automatically regeneate Devel::PPPort's API information =head1 COPYRIGHT -Copyright (c) 2006-2007, Marcus Holland-Moritz. +Copyright (c) 2006-2008, 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/ext/Devel/PPPort/devel/scanprov b/ext/Devel/PPPort/devel/scanprov index 66f207c..7fcfed5 100644 --- a/ext/Devel/PPPort/devel/scanprov +++ b/ext/Devel/PPPort/devel/scanprov @@ -5,13 +5,13 @@ # ################################################################################ # -# $Revision: 7 $ +# $Revision: 8 $ # $Author: mhx $ -# $Date: 2007/08/12 08:45:15 +0200 $ +# $Date: 2008/01/04 10:47:39 +0100 $ # ################################################################################ # -# Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +# Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. # Version 2.x, Copyright (C) 2001, Paul Marquess. # Version 1.x, Copyright (C) 1999, Kenneth Albanowski. # diff --git a/ext/Devel/PPPort/mktests.PL b/ext/Devel/PPPort/mktests.PL index 51a59ab..a5dca2f 100644 --- a/ext/Devel/PPPort/mktests.PL +++ b/ext/Devel/PPPort/mktests.PL @@ -4,13 +4,13 @@ # ################################################################################ # -# $Revision: 28 $ +# $Revision: 29 $ # $Author: mhx $ -# $Date: 2007/01/02 12:32:26 +0100 $ +# $Date: 2008/01/04 10:47:37 +0100 $ # ################################################################################ # -# Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +# Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. # Version 2.x, Copyright (C) 2001, Paul Marquess. # Version 1.x, Copyright (C) 1999, Kenneth Albanowski. # diff --git a/ext/Devel/PPPort/module2.c b/ext/Devel/PPPort/module2.c index 9373ee1..bb2d19a 100644 --- a/ext/Devel/PPPort/module2.c +++ b/ext/Devel/PPPort/module2.c @@ -4,13 +4,13 @@ * ******************************************************************************** * -* $Revision: 9 $ +* $Revision: 10 $ * $Author: mhx $ -* $Date: 2007/01/02 12:32:27 +0100 $ +* $Date: 2008/01/04 10:47:38 +0100 $ * ******************************************************************************** * -* Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +* Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. * Version 2.x, Copyright (C) 2001, Paul Marquess. * Version 1.x, Copyright (C) 1999, Kenneth Albanowski. * diff --git a/ext/Devel/PPPort/module3.c b/ext/Devel/PPPort/module3.c index 147ee47..6926351 100644 --- a/ext/Devel/PPPort/module3.c +++ b/ext/Devel/PPPort/module3.c @@ -4,13 +4,13 @@ * ******************************************************************************** * -* $Revision: 9 $ +* $Revision: 10 $ * $Author: mhx $ -* $Date: 2007/01/02 12:32:27 +0100 $ +* $Date: 2008/01/04 10:47:38 +0100 $ * ******************************************************************************** * -* Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +* Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. * Version 2.x, Copyright (C) 2001, Paul Marquess. * Version 1.x, Copyright (C) 1999, Kenneth Albanowski. * diff --git a/ext/Devel/PPPort/parts/apicheck.pl b/ext/Devel/PPPort/parts/apicheck.pl index b18ec26..2bb73b8 100644 --- a/ext/Devel/PPPort/parts/apicheck.pl +++ b/ext/Devel/PPPort/parts/apicheck.pl @@ -5,13 +5,13 @@ # ################################################################################ # -# $Revision: 27 $ +# $Revision: 29 $ # $Author: mhx $ -# $Date: 2007/08/19 19:41:03 +0200 $ +# $Date: 2008/01/04 12:02:22 +0100 $ # ################################################################################ # -# Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +# Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. # Version 2.x, Copyright (C) 2001, Paul Marquess. # Version 1.x, Copyright (C) 1999, Kenneth Albanowski. # @@ -165,6 +165,7 @@ print OUT < file that came with this distribution. +: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +: +: This file lists all API functions/macros that are documented in the Perl +: source code, but are not contained in F. +: + Ama|char*|savepvs|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 @@ -25,6 +41,7 @@ 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*|HvNAME|HV* stash Am|char*|SvEND|SV* sv Am|char*|SvGAMAGIC|SV* sv @@ -111,6 +128,7 @@ Am|SV*|HeVAL|HE* he Am|SV**|hv_fetchs|HV* tb|const char* key|I32 lval Am|SV**|hv_stores|HV* tb|const char* key|NULLOK SV* val Am|SV*|newRV_inc|SV* sv +Am|SV*|newSVpvn_utf8|NULLOK const char* s|STRLEN len|U32 utf8 Am|SV*|ST|int ix Am|SV*|SvREFCNT_inc_NN|SV* sv Am|SV*|SvREFCNT_inc_simple_NN|SV* sv @@ -181,10 +199,12 @@ Am|void|Move|void* src|void* dest|int nitems|type Am|void|mPUSHi|IV iv Am|void|mPUSHn|NV nv Am|void|mPUSHp|char* str|STRLEN len +Am|void|mPUSHs|SV* sv Am|void|mPUSHu|UV uv Am|void|mXPUSHi|IV iv Am|void|mXPUSHn|NV nv Am|void|mXPUSHp|char* str|STRLEN len +Am|void|mXPUSHs|SV* sv Am|void|mXPUSHu|UV uv Am|void|Newxc|void* ptr|int nitems|type|cast Am|void|Newx|void* ptr|int nitems|type diff --git a/ext/Devel/PPPort/parts/base/5004000 b/ext/Devel/PPPort/parts/base/5004000 index 31436dd..a196371 100644 --- a/ext/Devel/PPPort/parts/base/5004000 +++ b/ext/Devel/PPPort/parts/base/5004000 @@ -32,13 +32,13 @@ gv_fetchmethod_autoload # E gv_fullname3 # U gv_stashpvn # E hv_delayfree_ent # E -hv_delete_ent # E -hv_exists_ent # E -hv_fetch_ent # E +hv_delete_ent # U +hv_exists_ent # U +hv_fetch_ent # U hv_free_ent # E hv_iterkeysv # E hv_ksplit # E -hv_store_ent # E +hv_store_ent # U ibcmp_locale # E my_failure_exit # E my_memcmp # U @@ -63,6 +63,7 @@ sv_untaint # E sv_vcatpvfn # E sv_vsetpvfn # E unsharepvn # E +PERL_HASH # added by devel/scanprov PERL_INT_MAX # added by devel/scanprov PERL_INT_MIN # added by devel/scanprov PERL_LONG_MAX # added by devel/scanprov @@ -85,4 +86,3 @@ SvUVXx # added by devel/scanprov boolSV # added by devel/scanprov memEQ # added by devel/scanprov memNE # added by devel/scanprov -PERL_HASH # added by devel/scanprov diff --git a/ext/Devel/PPPort/parts/base/5005000 b/ext/Devel/PPPort/parts/base/5005000 index ace7674..3c96370 100644 --- a/ext/Devel/PPPort/parts/base/5005000 +++ b/ext/Devel/PPPort/parts/base/5005000 @@ -17,7 +17,6 @@ regexec_flags # E regnext # E (Perl_regnext) runops_debug # E runops_standard # E -save_hints # E save_iv # E (save_iv) screaminstr # E (Perl_screaminstr) sv_iv # E diff --git a/ext/Devel/PPPort/parts/base/5006000 b/ext/Devel/PPPort/parts/base/5006000 index d05e245..b2a93bf 100644 --- a/ext/Devel/PPPort/parts/base/5006000 +++ b/ext/Devel/PPPort/parts/base/5006000 @@ -224,9 +224,8 @@ PTR2IV # added by devel/scanprov PTR2NV # added by devel/scanprov PTR2UV # added by devel/scanprov PTRV # added by devel/scanprov -Perl_warner # added by devel/scanprov -Perl_warner_nocontext # added by devel/scanprov SVf # added by devel/scanprov +SVf_UTF8 # added by devel/scanprov UVSIZE # added by devel/scanprov UVTYPE # added by devel/scanprov UVof # added by devel/scanprov diff --git a/ext/Devel/PPPort/parts/base/5007001 b/ext/Devel/PPPort/parts/base/5007001 index ae0d4b2..6d989ad 100644 --- a/ext/Devel/PPPort/parts/base/5007001 +++ b/ext/Devel/PPPort/parts/base/5007001 @@ -21,5 +21,5 @@ utf8_to_uvuni # U utf8n_to_uvuni # U uvuni_to_utf8 # U PTR2ul # added by devel/scanprov -UVXf # added by devel/scanprov SV_IMMEDIATE_UNREF # added by devel/scanprov +UVXf # added by devel/scanprov diff --git a/ext/Devel/PPPort/parts/base/5008001 b/ext/Devel/PPPort/parts/base/5008001 index 57ff6a7..a389fd8 100644 --- a/ext/Devel/PPPort/parts/base/5008001 +++ b/ext/Devel/PPPort/parts/base/5008001 @@ -21,6 +21,6 @@ PERL_MAGIC_vstring # added by devel/scanprov PERL_SCAN_SILENT_ILLDIGIT # added by devel/scanprov PERL_SIGNALS_UNSAFE_FLAG # added by devel/scanprov PL_signals # added by devel/scanprov -XST_mUV # added by devel/scanprov SV_COW_DROP_PV # added by devel/scanprov SV_UTF8_NO_ENCODING # added by devel/scanprov +XST_mUV # added by devel/scanprov diff --git a/ext/Devel/PPPort/parts/base/5009002 b/ext/Devel/PPPort/parts/base/5009002 index 26ce0e7..65d7de9 100644 --- a/ext/Devel/PPPort/parts/base/5009002 +++ b/ext/Devel/PPPort/parts/base/5009002 @@ -28,5 +28,5 @@ op_refcnt_unlock # U savesvpv # U vnormal # U MY_CXT_CLONE # added by devel/scanprov -UTF8_MAXBYTES # added by devel/scanprov SV_NOSTEAL # added by devel/scanprov +UTF8_MAXBYTES # added by devel/scanprov diff --git a/ext/Devel/PPPort/parts/base/5009003 b/ext/Devel/PPPort/parts/base/5009003 index 8e6ee44..1abb298 100644 --- a/ext/Devel/PPPort/parts/base/5009003 +++ b/ext/Devel/PPPort/parts/base/5009003 @@ -32,19 +32,17 @@ newSVpvs # U newSVpvs_share # U newWHENOP # U newWHILEOP # E (Perl_newWHILEOP) -ref # U (Perl_ref) savepvs # U sortsv_flags # U sv_catpvs # U vverify # U PERL_UNUSED_ARG # added by devel/scanprov STR_WITH_LEN # added by devel/scanprov -SvPVX_const # added by devel/scanprov -SvPVX_mutable # added by devel/scanprov -dVAR # added by devel/scanprov SV_CONST_RETURN # added by devel/scanprov SV_MUTABLE_RETURN # added by devel/scanprov SV_SMAGIC # added by devel/scanprov +SvPVX_const # added by devel/scanprov +SvPVX_mutable # added by devel/scanprov SvPV_const # added by devel/scanprov SvPV_flags_const # added by devel/scanprov SvPV_flags_const_nolen # added by devel/scanprov @@ -59,3 +57,4 @@ SvPV_nolen_const # added by devel/scanprov SvPV_nomg_const # added by devel/scanprov SvPV_nomg_const_nolen # added by devel/scanprov SvSHARED_HASH # added by devel/scanprov +dVAR # added by devel/scanprov diff --git a/ext/Devel/PPPort/parts/base/5009004 b/ext/Devel/PPPort/parts/base/5009004 index 61a171f..65dbc85 100644 --- a/ext/Devel/PPPort/parts/base/5009004 +++ b/ext/Devel/PPPort/parts/base/5009004 @@ -25,5 +25,5 @@ sv_setpvs # U sv_usepvn_flags # U PERL_UNUSED_CONTEXT # added by devel/scanprov PERL_USE_GCC_BRACE_GROUPS # added by devel/scanprov -SvVSTRING_mg # added by devel/scanprov SV_HAS_TRAILING_NUL # added by devel/scanprov +SvVSTRING_mg # added by devel/scanprov diff --git a/ext/Devel/PPPort/parts/base/5009005 b/ext/Devel/PPPort/parts/base/5009005 index ef39541..f0fd5b9 100644 --- a/ext/Devel/PPPort/parts/base/5009005 +++ b/ext/Devel/PPPort/parts/base/5009005 @@ -1,7 +1,4 @@ 5.009005 -MULTICALL # E -POP_MULTICALL # E -PUSH_MULTICALL # E Perl_signbit # U SvRX # U SvRXOK # U @@ -9,14 +6,10 @@ av_create_and_push # U av_create_and_unshift_one # U get_cvn_flags # U gv_fetchfile_flags # U -hv_assert # U mro_get_linear_isa # U -mro_get_linear_isa_c3 # U -mro_get_linear_isa_dfs # U mro_method_changed_in # U my_dirfd # U newSV_type # U -pad_sv # U pregcomp # E (Perl_pregcomp) ptr_table_clear # U ptr_table_fetch # U @@ -36,16 +29,5 @@ reg_stringify # U regfree_internal # U savesharedpvn # U scan_vstring # E (Perl_scan_vstring) -stashpv_hvname_match # U -sv_magic_portable # U upg_version # E (Perl_upg_version) -PERL_BCDVERSION # added by devel/scanprov -PERL_MAGIC_glob # added by devel/scanprov -PERL_MAGIC_mutex # added by devel/scanprov -PL_copline # added by devel/scanprov -PL_expect # 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 SV_COW_SHARED_HASH_KEYS # added by devel/scanprov diff --git a/ext/Devel/PPPort/parts/base/5010000 b/ext/Devel/PPPort/parts/base/5010000 new file mode 100644 index 0000000..737f374 --- /dev/null +++ b/ext/Devel/PPPort/parts/base/5010000 @@ -0,0 +1,7 @@ +5.010000 +hv_common # U +hv_common_key_len # U +sv_destroyable # U +sys_init # U +sys_init3 # U +sys_term # U diff --git a/ext/Devel/PPPort/parts/base/5011000 b/ext/Devel/PPPort/parts/base/5011000 new file mode 100644 index 0000000..19e174d --- /dev/null +++ b/ext/Devel/PPPort/parts/base/5011000 @@ -0,0 +1,26 @@ +5.011000 +HeUTF8 # U +MULTICALL # E +POP_MULTICALL # E +PUSH_MULTICALL # E +av_iter_p # U +hv_assert # U +mPUSHs # U +mXPUSHs # U +newSVpvn_flags # U +newSVpvn_utf8 # U +newSVpvs_flags # U +pad_sv # U +pregfree2 # U +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_copline # added by devel/scanprov +PL_expect # 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/ext/Devel/PPPort/parts/embed.fnc b/ext/Devel/PPPort/parts/embed.fnc index efd9242..d36e2fd 100644 --- a/ext/Devel/PPPort/parts/embed.fnc +++ b/ext/Devel/PPPort/parts/embed.fnc @@ -115,6 +115,10 @@ Apd |void |av_undef |NN AV* ar ApdoxM |SV** |av_create_and_unshift_one|NN AV **const avp|NN SV *const val Apd |void |av_unshift |NN AV* ar|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) +s |MAGIC* |get_aux_mg |NN AV *av +#endif pR |OP* |bind_match |I32 type|NN OP* left|NN OP* pat pR |OP* |block_end |I32 floor|NULLOK OP* seq ApR |I32 |block_gimme @@ -229,7 +233,6 @@ Ap |bool |do_open9 |NN GV *gv|NN const char *name|I32 len|int as_raw \ Ap |bool |do_openn |NN GV *gv|NN const char *name|I32 len|int as_raw \ |int rawmode|int rawperm|NULLOK PerlIO *supplied_fp \ |NULLOK SV **svp|I32 num -p |void |do_pipe |NN SV* sv|NULLOK GV* rgv|NULLOK GV* wgv p |bool |do_print |NULLOK SV* sv|NN PerlIO* fp pR |OP* |do_readline p |I32 |do_chomp |NN SV* sv @@ -299,12 +302,20 @@ Apd |HV* |gv_stashsv |NULLOK SV* sv|I32 flags Apd |void |hv_clear |NULLOK HV* tb poM |HV * |hv_copy_hints_hv|NN HV *const ohv Ap |void |hv_delayfree_ent|NN HV* hv|NULLOK HE* entry -Apd |SV* |hv_delete |NULLOK HV* tb|NN const char* key|I32 klen|I32 flags -Apd |SV* |hv_delete_ent |NULLOK HV* tb|NN SV* key|I32 flags|U32 hash -ApdR |bool |hv_exists |NULLOK HV* tb|NN const char* key|I32 klen -ApdR |bool |hv_exists_ent |NULLOK HV* tb|NN SV* key|U32 hash -Apd |SV** |hv_fetch |NULLOK HV* tb|NN const char* key|I32 klen|I32 lval -Apd |HE* |hv_fetch_ent |NULLOK HV* tb|NN SV* key|I32 lval|U32 hash +Abmd |SV* |hv_delete |NULLOK HV* tb|NN const char* key|I32 klen \ + |I32 flags +Abmd |SV* |hv_delete_ent |NULLOK HV* tb|NN SV* key|I32 flags|U32 hash +AbmdR |bool |hv_exists |NULLOK HV* tb|NN const char* key|I32 klen +AbmdR |bool |hv_exists_ent |NULLOK HV* tb|NN SV* key|U32 hash +Abmd |SV** |hv_fetch |NULLOK HV* tb|NN const char* key|I32 klen \ + |I32 lval +Abmd |HE* |hv_fetch_ent |NULLOK HV* tb|NN SV* key|I32 lval|U32 hash +Ap |void* |hv_common |NULLOK HV* tb|NULLOK SV* keysv \ + |NULLOK const char* key|STRLEN klen|int flags \ + |int action|NULLOK SV* val|U32 hash +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 Ap |void |hv_free_ent |NN HV* hv|NULLOK HE* entryK Apd |I32 |hv_iterinit |NN HV* tb ApdR |char* |hv_iterkey |NN HE* entry|NN I32* retlen @@ -323,11 +334,11 @@ dpoM |void |refcounted_he_free|NULLOK struct refcounted_he *he XEdpoM |struct refcounted_he *|refcounted_he_new \ |NULLOK struct refcounted_he *const parent \ |NULLOK SV *const key|NULLOK SV *const value -Apd |SV** |hv_store |NULLOK HV* tb|NULLOK const char* key|I32 klen|NULLOK SV* val \ - |U32 hash -Apd |HE* |hv_store_ent |NULLOK HV* tb|NULLOK SV* key|NULLOK SV* val|U32 hash -ApM |SV** |hv_store_flags |NULLOK HV* tb|NULLOK const char* key|I32 klen|NULLOK SV* val \ - |U32 hash|int flags +Abmd |SV** |hv_store |NULLOK HV* tb|NULLOK const char* key \ + |I32 klen|NULLOK SV* val|U32 hash +Abmd |HE* |hv_store_ent |NULLOK HV* tb|NULLOK SV* key|NULLOK SV* val|U32 hash +AbmdM |SV** |hv_store_flags |NULLOK HV* tb|NULLOK const char* key \ + |I32 klen|NULLOK SV* val|U32 hash|int flags Apd |void |hv_undef |NULLOK HV* tb 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 @@ -426,7 +437,6 @@ dp |int |magic_clearhint|NN 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 p |int |magic_existspack|NN SV* sv|NN const MAGIC* mg -p |int |magic_freeregexp|NN SV* sv|NN MAGIC* mg p |int |magic_freeovrld|NN SV* sv|NN MAGIC* mg p |int |magic_get |NN SV* sv|NN MAGIC* mg p |int |magic_getarylen|NN SV* sv|NN const MAGIC* mg @@ -448,14 +458,11 @@ p |int |magic_set |NN SV* sv|NN MAGIC* mg p |int |magic_setamagic|NN SV* sv|NN MAGIC* mg p |int |magic_setarylen|NN SV* sv|NN MAGIC* mg p |int |magic_freearylen_p|NN SV* sv|NN MAGIC* mg -p |int |magic_setbm |NN SV* sv|NN MAGIC* mg p |int |magic_setdbline|NN SV* sv|NN MAGIC* mg p |int |magic_setdefelem|NN SV* sv|NN MAGIC* mg p |int |magic_setenv |NN SV* sv|NN MAGIC* mg -p |int |magic_setfm |NN SV* sv|NN MAGIC* mg dp |int |magic_sethint |NN SV* sv|NN MAGIC* mg p |int |magic_setisa |NN SV* sv|NN MAGIC* mg -p |int |magic_setglob |NN SV* sv|NN MAGIC* mg p |int |magic_setmglob |NN SV* sv|NN MAGIC* mg p |int |magic_setnkeys |NN SV* sv|NN MAGIC* mg p |int |magic_setpack |NN SV* sv|NN MAGIC* mg @@ -494,7 +501,7 @@ Ap |I32 |mg_size |NN SV* sv Ap |void |mini_mktime |NN struct tm *pm EXp |OP* |mod |NULLOK OP* o|I32 type p |int |mode_from_discipline|NULLOK SV* discp -Ap |char* |moreswitches |NN char* s +Ap |const char* |moreswitches |NN const char* s p |OP* |my |NN OP* o Ap |NV |my_atof |NN const char *s #if (!defined(HAS_MEMCPY) && !defined(HAS_BCOPY)) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY) && !defined(HAS_SAFE_BCOPY)) @@ -556,7 +563,7 @@ ApM |CV * |newXS_flags |NULLOK const char *name|NN XSUBADDR_t subaddr\ |NN const char *const filename \ |NULLOK const char *const proto|U32 flags Apd |CV* |newXS |NULLOK const char* name|NN XSUBADDR_t f|NN const char* filename -Apda |AV* |newAV +AmdbR |AV* |newAV Apa |OP* |newAVREF |NN OP* o Apa |OP* |newBINOP |I32 type|I32 flags|NULLOK OP* first|NULLOK OP* last Apa |OP* |newCVREF |I32 flags|NULLOK OP* o @@ -564,7 +571,7 @@ Apa |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 -ApdaR |HV* |newHV +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 @@ -583,6 +590,7 @@ Apda |SV* |newSVuv |UV u Apda |SV* |newSVnv |NV n Apda |SV* |newSVpv |NULLOK const char* s|STRLEN len Apda |SV* |newSVpvn |NULLOK const char* s|STRLEN len +Apda |SV* |newSVpvn_flags |NULLOK const char* s|STRLEN len|U32 flags Apda |SV* |newSVhek |NULLOK const HEK *hek Apda |SV* |newSVpvn_share |NULLOK const char* s|I32 len|U32 hash Afpda |SV* |newSVpvf |NN const char* pat|... @@ -677,8 +685,9 @@ Ap |SV* |regclass_swash |NULLOK const regexp *prog|NN const struct regnode *n|bo 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 struct regexp* r -EXp |struct regexp* |reg_temp_copy |NN struct regexp* r +Ap |void |pregfree |NULLOK REGEXP* r +Ap |void |pregfree2 |NN REGEXP* prog +EXp |REGEXP*|reg_temp_copy |NN REGEXP* r Ap |void |regfree_internal|NULLOK REGEXP * const r Ap |char * |reg_stringify |NN MAGIC *mg|NULLOK STRLEN *lp|NULLOK U32 *flags|NULLOK I32 *haseval #if defined(USE_ITHREADS) @@ -751,7 +760,6 @@ Ap |void |save_shared_pvref|NN char** str Ap |void |save_gp |NN GV* gv|I32 empty Ap |HV* |save_hash |NN GV* gv Ap |void |save_helem |NN HV* hv|NN SV *key|NN SV **sptr -Apr |void |save_hints Ap |void |save_hptr |NN HV** hptr Ap |void |save_I16 |NN I16* intp Ap |void |save_I32 |NN I32* intp @@ -789,8 +797,8 @@ p |I32 |setenv_getix |NN const char* nam EXp |void |setdefout |NULLOK GV* gv Ap |HEK* |share_hek |NN const char* str|I32 len|U32 hash #if defined(HAS_SIGACTION) && defined(SA_SIGINFO) -np |Signal_t |sighandler |int sig|... -Anp |Signal_t |csighandler |int sig|... +np |Signal_t |sighandler |int sig|NULLOK siginfo_t *info|NULLOK void *uap +Anp |Signal_t |csighandler |int sig|NULLOK siginfo_t *info|NULLOK void *uap #else np |Signal_t |sighandler |int sig Anp |Signal_t |csighandler |int sig @@ -809,6 +817,7 @@ Amb |IV |sv_2iv |NN SV* sv Apd |IV |sv_2iv_flags |NN SV* sv|I32 flags Apd |SV* |sv_2mortal |NULLOK SV* sv Apd |NV |sv_2nv |NN SV* sv +pMd |SV* |sv_2num |NN SV* sv Amb |char* |sv_2pv |NN SV* sv|NULLOK STRLEN* lp Apd |char* |sv_2pv_flags |NN SV* sv|NULLOK STRLEN* lp|I32 flags Apd |char* |sv_2pvutf8 |NN SV* sv|NULLOK STRLEN* lp @@ -1077,7 +1086,8 @@ Apa |ANY* |ss_dup |NN PerlInterpreter* proto_perl|NN CLONE_PARAMS* param ApR |void* |any_dup |NULLOK void* v|NN const PerlInterpreter* proto_perl ApR |HE* |he_dup |NULLOK const HE* e|bool shared|NN CLONE_PARAMS* param ApR |HEK* |hek_dup |NULLOK HEK* e|NN CLONE_PARAMS* param -ApR |REGEXP*|re_dup |NULLOK const REGEXP* r|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* fp|char type|NN CLONE_PARAMS* param ApR |DIR* |dirp_dup |NULLOK DIR* dp ApR |GP* |gp_dup |NULLOK GP* gp|NN CLONE_PARAMS* param @@ -1107,6 +1117,7 @@ ApR |const char * |custom_op_desc |NN const OP* op Adp |void |sv_nosharing |NULLOK SV *sv Adpbm |void |sv_nolocking |NULLOK SV *sv +Adp |bool |sv_destroyable |NULLOK SV *sv #ifdef NO_MATHOMS Adpbm |void |sv_nounlocking |NULLOK SV *sv #else @@ -1127,6 +1138,7 @@ sR |I32 |do_trans_complex_utf8 |NN SV * const sv #if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT) s |void |gv_init_sv |NN GV *gv|I32 sv_type +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 @@ -1143,13 +1155,10 @@ sanR |HEK* |save_hek_flags |NN const char *str|I32 len|U32 hash|int flags sn |void |hv_magic_check |NN HV *hv|NN bool *needs_copy|NN bool *needs_store s |void |unshare_hek_or_pvn|NULLOK const HEK* hek|NULLOK const char* str|I32 len|U32 hash sR |HEK* |share_hek_flags|NN const char* sv|I32 len|U32 hash|int flags -sR |SV* |hv_magic_uvar_xkey|NN HV* hv|NN SV* keysv|int action rs |void |hv_notallowed |int flags|NN const char *key|I32 klen|NN const char *msg sn |struct xpvhv_aux*|hv_auxinit|NN HV *hv sM |SV* |hv_delete_common|NULLOK HV* tb|NULLOK SV* keysv|NULLOK const char* key \ |STRLEN klen|int k_flags|I32 d_flags|U32 hash -sM |HE* |hv_fetch_common|NULLOK HV* tb|NULLOK SV* keysv|NULLOK const char* key \ - |STRLEN klen|int flags|int action|NULLOK SV* val|U32 hash sM |void |clear_placeholders |NN HV* hb|U32 items sM |SV * |refcounted_he_value |NN const struct refcounted_he *he #endif @@ -1207,6 +1216,7 @@ 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 sRn |bool |is_handle_constructor|NN const OP *o|I32 numargs sR |I32 |is_list_assignment|NULLOK const OP *o # ifdef USE_ITHREADS @@ -1308,7 +1318,6 @@ snR |char * |bytes_to_uni |NN const U8 *start|STRLEN len|NN char *dest #if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT) sR |OP* |docatch |NULLOK OP *o -s |void |docatch_body sR |OP* |dofindlabel |NN OP *o|NN const char *label|NN OP **opstack|NN OP **oplimit sR |OP* |doparseform |NN SV *sv snR |bool |num_overflow |NV value|I32 fldsize|I32 frcsize @@ -1316,16 +1325,17 @@ sR |I32 |dopoptoeval |I32 startingblock sR |I32 |dopoptogiven |I32 startingblock sR |I32 |dopoptolabel |NN const char *label sR |I32 |dopoptoloop |I32 startingblock -sR |I32 |dopoptosub |I32 startingblock 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|NN const char *mode -sR |PerlIO *|doopen_pm |NN const char *name|NN const char *mode +sR |PerlIO *|check_type_and_open|NN const char *name +#ifndef PERL_DISABLE_PMC +sR |PerlIO *|doopen_pm |NN const char *name|const STRLEN namelen +#endif sRn |bool |path_is_absolute|NN const char *name sR |I32 |run_user_filter|int idx|NN SV *buf_sv|int maxlen -sR |PMOP* |make_matcher |NN regexp* re +sR |PMOP* |make_matcher |NN REGEXP* re sR |bool |matcher_matches_sv|NN PMOP* matcher|NN SV* sv s |void |destroy_matcher|NN PMOP* matcher s |OP* |do_smartmatch |NULLOK HV* seen_this|NULLOK HV* seen_other @@ -1351,7 +1361,6 @@ s |void |qsortsvu |NN SV** array|size_t num_elts|NN SVCOMPARE_t compare #if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT) s |OP* |doform |NN CV *cv|NN GV *gv|NN OP *retop -s |int |emulate_eaccess|NN const char* path|Mode_t mode # if !defined(HAS_MKDIR) || !defined(HAS_RMDIR) sR |int |dooneliner |NN const char *cmd|NN const char *filename # endif @@ -1541,17 +1550,17 @@ s |int |intuit_more |NN char *s s |I32 |lop |I32 f|int x|NN char *s rs |void |missingterm |NULLOK char *s s |void |no_op |NN const char *what|NULLOK char *s -s |void |set_csh 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 |HV * |find_in_my_stash|NN const char *pkgname|I32 len +sR |HV * |find_in_my_stash|NN const char *pkgname|STRLEN len sR |char * |tokenize_use |int is_use|NN char *s -s |SV* |new_constant |NULLOK const char *s|STRLEN len|NN const char *key|NN SV *sv \ - |NULLOK SV *pv|NULLOK const char *type +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 |ao |int toketype -s |const char*|incl_perldb # if defined(PERL_CR_FILTER) s |I32 |cr_textfilter |int idx|NULLOK SV *sv|int maxlen s |void |strip_return |NN SV *sv @@ -1855,7 +1864,8 @@ 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 void* val|I32 vlen +Mp |MADPROP*|newMADPROP |char key|char type|NULLOK const void* val \ + |I32 vlen Mp |void |mad_free |NULLOK MADPROP* mp # if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT) @@ -1880,11 +1890,17 @@ p |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 -Apd |AV* |mro_get_linear_isa_c3|NN HV* stash|I32 level -Apd |AV* |mro_get_linear_isa_dfs|NN HV* stash|I32 level +#if defined(PERL_IN_MRO_C) || defined(PERL_DECL_PROT) +sd |AV* |mro_get_linear_isa_c3|NN HV* stash|I32 level +sd |AV* |mro_get_linear_isa_dfs|NN HV* stash|I32 level +#endif pd |void |mro_isa_changed_in|NN HV* stash Apd |void |mro_method_changed_in |NN HV* stash 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 + END_EXTERN_C /* diff --git a/ext/Devel/PPPort/parts/inc/MY_CXT b/ext/Devel/PPPort/parts/inc/MY_CXT index eef9948..55fd6e7 100644 --- a/ext/Devel/PPPort/parts/inc/MY_CXT +++ b/ext/Devel/PPPort/parts/inc/MY_CXT @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 14 $ +## $Revision: 15 $ ## $Author: mhx $ -## $Date: 2007/01/02 12:32:34 +0100 $ +## $Date: 2008/01/04 10:47:43 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/ext/Devel/PPPort/parts/inc/SvPV b/ext/Devel/PPPort/parts/inc/SvPV index ec89cb1..ae03a36 100644 --- a/ext/Devel/PPPort/parts/inc/SvPV +++ b/ext/Devel/PPPort/parts/inc/SvPV @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 18 $ +## $Revision: 19 $ ## $Author: mhx $ -## $Date: 2007/09/11 23:19:51 +0200 $ +## $Date: 2008/01/04 10:47:43 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/ext/Devel/PPPort/parts/inc/SvREFCNT b/ext/Devel/PPPort/parts/inc/SvREFCNT index 2c3a29c..9c72715 100644 --- a/ext/Devel/PPPort/parts/inc/SvREFCNT +++ b/ext/Devel/PPPort/parts/inc/SvREFCNT @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 2 $ +## $Revision: 4 $ ## $Author: mhx $ -## $Date: 2007/01/02 12:32:28 +0100 $ +## $Date: 2008/01/04 14:54:44 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## @@ -95,30 +95,30 @@ SvREFCNT() SV *sv, *svr; PPCODE: sv = newSV(0); - XPUSHs(newSViv(SvREFCNT(sv) == 1)); + mXPUSHi(SvREFCNT(sv) == 1); svr = SvREFCNT_inc(sv); - XPUSHs(newSViv(sv == svr)); - XPUSHs(newSViv(SvREFCNT(sv) == 2)); + mXPUSHi(sv == svr); + mXPUSHi(SvREFCNT(sv) == 2); svr = SvREFCNT_inc_simple(sv); - XPUSHs(newSViv(sv == svr)); - XPUSHs(newSViv(SvREFCNT(sv) == 3)); + mXPUSHi(sv == svr); + mXPUSHi(SvREFCNT(sv) == 3); svr = SvREFCNT_inc_NN(sv); - XPUSHs(newSViv(sv == svr)); - XPUSHs(newSViv(SvREFCNT(sv) == 4)); + mXPUSHi(sv == svr); + mXPUSHi(SvREFCNT(sv) == 4); svr = SvREFCNT_inc_simple_NN(sv); - XPUSHs(newSViv(sv == svr)); - XPUSHs(newSViv(SvREFCNT(sv) == 5)); + mXPUSHi(sv == svr); + mXPUSHi(SvREFCNT(sv) == 5); SvREFCNT_inc_void(sv); - XPUSHs(newSViv(SvREFCNT(sv) == 6)); + mXPUSHi(SvREFCNT(sv) == 6); SvREFCNT_inc_simple_void(sv); - XPUSHs(newSViv(SvREFCNT(sv) == 7)); + mXPUSHi(SvREFCNT(sv) == 7); SvREFCNT_inc_void_NN(sv); - XPUSHs(newSViv(SvREFCNT(sv) == 8)); + mXPUSHi(SvREFCNT(sv) == 8); SvREFCNT_inc_simple_void_NN(sv); - XPUSHs(newSViv(SvREFCNT(sv) == 9)); + mXPUSHi(SvREFCNT(sv) == 9); while (SvREFCNT(sv) > 1) SvREFCNT_dec(sv); - XPUSHs(newSViv(SvREFCNT(sv) == 1)); + mXPUSHi(SvREFCNT(sv) == 1); SvREFCNT_dec(sv); XSRETURN(14); diff --git a/ext/Devel/PPPort/parts/inc/Sv_set b/ext/Devel/PPPort/parts/inc/Sv_set index 692a01e..092700a 100644 --- a/ext/Devel/PPPort/parts/inc/Sv_set +++ b/ext/Devel/PPPort/parts/inc/Sv_set @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 5 $ +## $Revision: 6 $ ## $Author: mhx $ -## $Date: 2007/01/02 12:32:29 +0100 $ +## $Date: 2008/01/04 10:47:41 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/ext/Devel/PPPort/parts/inc/call b/ext/Devel/PPPort/parts/inc/call index ef7bbc8..013c0f1 100644 --- a/ext/Devel/PPPort/parts/inc/call +++ b/ext/Devel/PPPort/parts/inc/call @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 15 $ +## $Revision: 17 $ ## $Author: mhx $ -## $Date: 2007/08/18 20:16:11 +0200 $ +## $Date: 2008/01/04 14:54:42 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## @@ -184,7 +184,7 @@ eval_sv(sv, flags) i = eval_sv(sv, flags); SPAGAIN; EXTEND(SP, 1); - PUSHs(sv_2mortal(newSViv(i))); + mPUSHi(i); void eval_pv(p, croak_on_error) @@ -210,7 +210,7 @@ call_sv(sv, flags, ...) i = call_sv(sv, flags); SPAGAIN; EXTEND(SP, 1); - PUSHs(sv_2mortal(newSViv(i))); + mPUSHi(i); void call_pv(subname, flags, ...) @@ -227,7 +227,7 @@ call_pv(subname, flags, ...) i = call_pv(subname, flags); SPAGAIN; EXTEND(SP, 1); - PUSHs(sv_2mortal(newSViv(i))); + mPUSHi(i); void call_argv(subname, flags, ...) @@ -246,7 +246,7 @@ call_argv(subname, flags, ...) i = call_argv(subname, flags, args); SPAGAIN; EXTEND(SP, 1); - PUSHs(sv_2mortal(newSViv(i))); + mPUSHi(i); void call_method(methname, flags, ...) @@ -263,7 +263,7 @@ call_method(methname, flags, ...) i = call_method(methname, flags); SPAGAIN; EXTEND(SP, 1); - PUSHs(sv_2mortal(newSViv(i))); + mPUSHi(i); void load_module(flags, name, version, ...) diff --git a/ext/Devel/PPPort/parts/inc/cop b/ext/Devel/PPPort/parts/inc/cop index 16af1ca..408021d 100644 --- a/ext/Devel/PPPort/parts/inc/cop +++ b/ext/Devel/PPPort/parts/inc/cop @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 6 $ +## $Revision: 7 $ ## $Author: mhx $ -## $Date: 2007/01/02 12:32:32 +0100 $ +## $Date: 2008/01/04 10:47:42 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/ext/Devel/PPPort/parts/inc/exception b/ext/Devel/PPPort/parts/inc/exception index 93cd21b..5c7d6f9 100644 --- a/ext/Devel/PPPort/parts/inc/exception +++ b/ext/Devel/PPPort/parts/inc/exception @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 5 $ +## $Revision: 6 $ ## $Author: mhx $ -## $Date: 2007/01/02 12:32:31 +0100 $ +## $Date: 2008/01/04 10:47:41 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/ext/Devel/PPPort/parts/inc/format b/ext/Devel/PPPort/parts/inc/format index 212544c..2e1413f 100644 --- a/ext/Devel/PPPort/parts/inc/format +++ b/ext/Devel/PPPort/parts/inc/format @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 6 $ +## $Revision: 7 $ ## $Author: mhx $ -## $Date: 2007/01/02 12:32:33 +0100 $ +## $Date: 2008/01/04 10:47:43 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/ext/Devel/PPPort/parts/inc/grok b/ext/Devel/PPPort/parts/inc/grok index e6dc979..e7a0f6a 100644 --- a/ext/Devel/PPPort/parts/inc/grok +++ b/ext/Devel/PPPort/parts/inc/grok @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 14 $ +## $Revision: 15 $ ## $Author: mhx $ -## $Date: 2007/09/11 23:20:41 +0200 $ +## $Date: 2008/01/04 10:47:44 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/ext/Devel/PPPort/parts/inc/limits b/ext/Devel/PPPort/parts/inc/limits index 43ed75a..879fc46 100644 --- a/ext/Devel/PPPort/parts/inc/limits +++ b/ext/Devel/PPPort/parts/inc/limits @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 5 $ +## $Revision: 6 $ ## $Author: mhx $ -## $Date: 2007/01/02 12:32:33 +0100 $ +## $Date: 2008/01/04 10:47:42 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/ext/Devel/PPPort/parts/inc/mPUSH b/ext/Devel/PPPort/parts/inc/mPUSH index ee2e22d..30ec8f3 100644 --- a/ext/Devel/PPPort/parts/inc/mPUSH +++ b/ext/Devel/PPPort/parts/inc/mPUSH @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 7 $ +## $Revision: 10 $ ## $Author: mhx $ -## $Date: 2007/01/02 12:32:32 +0100 $ +## $Date: 2008/01/04 13:11:16 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## @@ -21,21 +21,32 @@ __UNDEFINED__ =implementation +__UNDEFINED__ mPUSHs(s) PUSHs(sv_2mortal(s)) __UNDEFINED__ PUSHmortal PUSHs(sv_newmortal()) -__UNDEFINED__ mPUSHp(p,l) sv_setpvn_mg(PUSHmortal, (p), (l)) -__UNDEFINED__ mPUSHn(n) sv_setnv_mg(PUSHmortal, (NV)(n)) -__UNDEFINED__ mPUSHi(i) sv_setiv_mg(PUSHmortal, (IV)(i)) -__UNDEFINED__ mPUSHu(u) sv_setuv_mg(PUSHmortal, (UV)(u)) +__UNDEFINED__ mPUSHp(p,l) sv_setpvn(PUSHmortal, (p), (l)) +__UNDEFINED__ mPUSHn(n) sv_setnv(PUSHmortal, (NV)(n)) +__UNDEFINED__ mPUSHi(i) sv_setiv(PUSHmortal, (IV)(i)) +__UNDEFINED__ mPUSHu(u) sv_setuv(PUSHmortal, (UV)(u)) +__UNDEFINED__ mXPUSHs(s) XPUSHs(sv_2mortal(s)) __UNDEFINED__ XPUSHmortal XPUSHs(sv_newmortal()) -__UNDEFINED__ mXPUSHp(p,l) STMT_START { EXTEND(sp,1); sv_setpvn_mg(PUSHmortal, (p), (l)); } STMT_END -__UNDEFINED__ mXPUSHn(n) STMT_START { EXTEND(sp,1); sv_setnv_mg(PUSHmortal, (NV)(n)); } STMT_END -__UNDEFINED__ mXPUSHi(i) STMT_START { EXTEND(sp,1); sv_setiv_mg(PUSHmortal, (IV)(i)); } STMT_END -__UNDEFINED__ mXPUSHu(u) STMT_START { EXTEND(sp,1); sv_setuv_mg(PUSHmortal, (UV)(u)); } STMT_END +__UNDEFINED__ mXPUSHp(p,l) STMT_START { EXTEND(sp,1); sv_setpvn(PUSHmortal, (p), (l)); } STMT_END +__UNDEFINED__ mXPUSHn(n) STMT_START { EXTEND(sp,1); sv_setnv(PUSHmortal, (NV)(n)); } STMT_END +__UNDEFINED__ mXPUSHi(i) STMT_START { EXTEND(sp,1); sv_setiv(PUSHmortal, (IV)(i)); } STMT_END +__UNDEFINED__ mXPUSHu(u) STMT_START { EXTEND(sp,1); sv_setuv(PUSHmortal, (UV)(u)); } STMT_END =xsubs void +mPUSHs() + PPCODE: + EXTEND(SP, 3); + mPUSHs(newSVpv("foo", 0)); + mPUSHs(newSVpv("bar13", 3)); + mPUSHs(newSViv(42)); + XSRETURN(3); + +void mPUSHp() PPCODE: EXTEND(SP, 3); @@ -72,6 +83,14 @@ mPUSHu() XSRETURN(3); void +mXPUSHs() + PPCODE: + mXPUSHs(newSVpv("foo", 0)); + mXPUSHs(newSVpv("bar13", 3)); + mXPUSHs(newSViv(42)); + XSRETURN(3); + +void mXPUSHp() PPCODE: mXPUSHp("one", 3); @@ -103,13 +122,15 @@ mXPUSHu() mXPUSHu(3); XSRETURN(3); -=tests plan => 8 +=tests plan => 10 +ok(join(':', &Devel::PPPort::mPUSHs()), "foo:bar:42"); ok(join(':', &Devel::PPPort::mPUSHp()), "one:two:three"); ok(join(':', &Devel::PPPort::mPUSHn()), "0.5:-0.25:0.125"); ok(join(':', &Devel::PPPort::mPUSHi()), "-1:2:-3"); ok(join(':', &Devel::PPPort::mPUSHu()), "1:2:3"); +ok(join(':', &Devel::PPPort::mXPUSHs()), "foo:bar:42"); ok(join(':', &Devel::PPPort::mXPUSHp()), "one:two:three"); ok(join(':', &Devel::PPPort::mXPUSHn()), "0.5:-0.25:0.125"); ok(join(':', &Devel::PPPort::mXPUSHi()), "-1:2:-3"); diff --git a/ext/Devel/PPPort/parts/inc/magic b/ext/Devel/PPPort/parts/inc/magic index 2cdd720..233a9a4 100644 --- a/ext/Devel/PPPort/parts/inc/magic +++ b/ext/Devel/PPPort/parts/inc/magic @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 15 $ +## $Revision: 16 $ ## $Author: mhx $ -## $Date: 2007/09/11 23:20:42 +0200 $ +## $Date: 2008/01/04 10:47:44 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/ext/Devel/PPPort/parts/inc/memory b/ext/Devel/PPPort/parts/inc/memory index 7f5dda6..cfef37e 100644 --- a/ext/Devel/PPPort/parts/inc/memory +++ b/ext/Devel/PPPort/parts/inc/memory @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 3 $ +## $Revision: 4 $ ## $Author: mhx $ -## $Date: 2007/01/02 12:32:31 +0100 $ +## $Date: 2008/01/04 10:47:41 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/ext/Devel/PPPort/parts/inc/misc b/ext/Devel/PPPort/parts/inc/misc index c565e21..05c3ff7 100644 --- a/ext/Devel/PPPort/parts/inc/misc +++ b/ext/Devel/PPPort/parts/inc/misc @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 41 $ +## $Revision: 44 $ ## $Author: mhx $ -## $Date: 2007/08/20 18:33:10 +0200 $ +## $Date: 2008/01/04 14:54:43 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## @@ -166,10 +166,6 @@ __UNDEFINED__ AvFILLp AvFILL __UNDEFINED__ ERRSV get_sv("@",FALSE) -__UNDEFINED__ newSVpvn(data,len) ((data) \ - ? ((len) ? newSVpv((data), (len)) : newSVpv("", 0)) \ - : newSV(0)) - /* Hint: gv_stashpvn * This function's backport doesn't support the length parameter, but * rather ignores it. Portability can only be ensured if the length @@ -250,7 +246,7 @@ XS(XS_Devel__PPPort_dAXMARK) IV iv; SP -= items; iv = SvIV(ST(0)) - 1; - PUSHs(sv_2mortal(newSViv(iv))); + mPUSHi(iv); XSRETURN(1); } @@ -307,22 +303,12 @@ get_cv(name, create) RETVAL void -newSVpvn() - PPCODE: - XPUSHs(newSVpvn("test", 4)); - XPUSHs(newSVpvn("test", 2)); - XPUSHs(newSVpvn("test", 0)); - XPUSHs(newSVpvn(NULL, 2)); - XPUSHs(newSVpvn(NULL, 0)); - XSRETURN(5); - -void xsreturn(two) int two PPCODE: - XPUSHs(newSVpvn("test1", 5)); + mXPUSHp("test1", 5); if (two) - XPUSHs(newSVpvn("test2", 5)); + mXPUSHp("test2", 5); if (two) XSRETURN(2); else @@ -366,7 +352,7 @@ prepush() { dXSTARG; XSprePUSH; - PUSHi(42); + mPUSHi(42); XSRETURN(1); } @@ -379,23 +365,15 @@ SVf(x) SV *x PPCODE: #if { VERSION >= 5.004 } - x = newSVpvf("[%"SVf"]", x); + x = sv_2mortal(newSVpvf("[%"SVf"]", x)); #endif XPUSHs(x); XSRETURN(1); -=tests plan => 38 +=tests plan => 32 use vars qw($my_sv @my_av %my_hv); -my @s = &Devel::PPPort::newSVpvn(); -ok(@s == 5); -ok($s[0], "test"); -ok($s[1], "te"); -ok($s[2], ""); -ok(!defined($s[3])); -ok(!defined($s[4])); - ok(&Devel::PPPort::boolSV(1)); ok(!&Devel::PPPort::boolSV(0)); diff --git a/ext/Devel/PPPort/parts/inc/newCONSTSUB b/ext/Devel/PPPort/parts/inc/newCONSTSUB index 02cbf41..cd01615 100644 --- a/ext/Devel/PPPort/parts/inc/newCONSTSUB +++ b/ext/Devel/PPPort/parts/inc/newCONSTSUB @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 12 $ +## $Revision: 13 $ ## $Author: mhx $ -## $Date: 2007/09/11 23:20:42 +0200 $ +## $Date: 2008/01/04 10:47:43 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/ext/Devel/PPPort/parts/inc/newRV b/ext/Devel/PPPort/parts/inc/newRV index 9add414..d786780 100644 --- a/ext/Devel/PPPort/parts/inc/newRV +++ b/ext/Devel/PPPort/parts/inc/newRV @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 7 $ +## $Revision: 8 $ ## $Author: mhx $ -## $Date: 2007/01/02 12:32:33 +0100 $ +## $Date: 2008/01/04 10:47:43 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/ext/Devel/PPPort/parts/inc/newSVpv b/ext/Devel/PPPort/parts/inc/newSVpv new file mode 100644 index 0000000..8137f61 --- /dev/null +++ b/ext/Devel/PPPort/parts/inc/newSVpv @@ -0,0 +1,109 @@ +################################################################################ +## +## $Revision: 4 $ +## $Author: mhx $ +## $Date: 2008/01/04 13:10:54 +0100 $ +## +################################################################################ +## +## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. +## Version 2.x, Copyright (C) 2001, Paul Marquess. +## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. +## +## This program is free software; you can redistribute it and/or +## modify it under the same terms as Perl itself. +## +################################################################################ + +=provides + +__UNDEFINED__ +newSVpvn_flags + +=implementation + +__UNDEFINED__ newSVpvn(data,len) ((data) \ + ? ((len) ? newSVpv((data), (len)) : newSVpv("", 0)) \ + : newSV(0)) + +__UNDEFINED__ newSVpvn_utf8(s, len, u) newSVpvn_flags((s), (len), (u) ? SVf_UTF8 : 0) + +__UNDEFINED__ SVf_UTF8 0 + +#ifndef newSVpvn_flags + +#if { NEED newSVpvn_flags } + +SV * +newSVpvn_flags(pTHX_ const char *s, STRLEN len, U32 flags) +{ + SV *sv = newSVpvn(s, len); + SvFLAGS(sv) |= (flags & SVf_UTF8); + return (flags & SVs_TEMP) ? sv_2mortal(sv) : sv; +} + +#endif + +#endif + +=xsinit + +#define NEED_newSVpvn_flags + +=xsubs + +void +newSVpvn() + PPCODE: + mXPUSHs(newSVpvn("test", 4)); + mXPUSHs(newSVpvn("test", 2)); + mXPUSHs(newSVpvn("test", 0)); + mXPUSHs(newSVpvn(NULL, 2)); + mXPUSHs(newSVpvn(NULL, 0)); + XSRETURN(5); + +void +newSVpvn_flags() + PPCODE: + XPUSHs(newSVpvn_flags("test", 4, SVs_TEMP)); + XPUSHs(newSVpvn_flags("test", 2, SVs_TEMP)); + XPUSHs(newSVpvn_flags("test", 0, SVs_TEMP)); + XPUSHs(newSVpvn_flags(NULL, 2, SVs_TEMP)); + XPUSHs(newSVpvn_flags(NULL, 0, SVs_TEMP)); + XSRETURN(5); + +void +newSVpvn_utf8() + PPCODE: + XPUSHs(newSVpvn_flags("test", 4, SVs_TEMP|SVf_UTF8)); + XSRETURN(1); + +=tests plan => 15 + +my @s = &Devel::PPPort::newSVpvn(); +ok(@s == 5); +ok($s[0], "test"); +ok($s[1], "te"); +ok($s[2], ""); +ok(!defined($s[3])); +ok(!defined($s[4])); + +@s = &Devel::PPPort::newSVpvn_flags(); +ok(@s == 5); +ok($s[0], "test"); +ok($s[1], "te"); +ok($s[2], ""); +ok(!defined($s[3])); +ok(!defined($s[4])); + +@s = &Devel::PPPort::newSVpvn_utf8(); +ok(@s == 1); +ok($s[0], "test"); + +if ($] >= 5.008001) { + require utf8; + ok(utf8::is_utf8($s[0])); +} +else { + skip("skip: no is_utf8()", 0); +} diff --git a/ext/Devel/PPPort/parts/inc/podtest b/ext/Devel/PPPort/parts/inc/podtest index 2ad99fc..1466a60 100644 --- a/ext/Devel/PPPort/parts/inc/podtest +++ b/ext/Devel/PPPort/parts/inc/podtest @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 7 $ +## $Revision: 8 $ ## $Author: mhx $ -## $Date: 2007/01/02 12:32:28 +0100 $ +## $Date: 2008/01/04 10:47:40 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/ext/Devel/PPPort/parts/inc/ppphbin b/ext/Devel/PPPort/parts/inc/ppphbin index 74dadd6..b474c40 100644 --- a/ext/Devel/PPPort/parts/inc/ppphbin +++ b/ext/Devel/PPPort/parts/inc/ppphbin @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 45 $ +## $Revision: 47 $ ## $Author: mhx $ -## $Date: 2007/09/11 23:18:31 +0200 $ +## $Date: 2008/01/04 12:03:30 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## @@ -155,7 +155,7 @@ while () { my @n = find_api($function->[1]); push @{$depends{$function->[0]}}, @n if @n } - undef $define; + undef $function; } else { $function->[1] .= $_; diff --git a/ext/Devel/PPPort/parts/inc/ppphdoc b/ext/Devel/PPPort/parts/inc/ppphdoc index 4154c7c..5d5f4e6 100644 --- a/ext/Devel/PPPort/parts/inc/ppphdoc +++ b/ext/Devel/PPPort/parts/inc/ppphdoc @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 30 $ +## $Revision: 31 $ ## $Author: mhx $ -## $Date: 2007/05/22 21:26:46 +0200 $ +## $Date: 2008/01/04 10:47:42 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2008, 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-2007, Marcus Holland-Moritz. +Version 3.x, Copyright (c) 2004-2008, Marcus Holland-Moritz. Version 2.x, Copyright (C) 2001, Paul Marquess. diff --git a/ext/Devel/PPPort/parts/inc/ppphtest b/ext/Devel/PPPort/parts/inc/ppphtest index 71a97b1..c3a7bde 100644 --- a/ext/Devel/PPPort/parts/inc/ppphtest +++ b/ext/Devel/PPPort/parts/inc/ppphtest @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 41 $ +## $Revision: 42 $ ## $Author: mhx $ -## $Date: 2007/09/11 23:18:33 +0200 $ +## $Date: 2008/01/04 10:47:42 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/ext/Devel/PPPort/parts/inc/pvs b/ext/Devel/PPPort/parts/inc/pvs index fe97588..0262adb 100644 --- a/ext/Devel/PPPort/parts/inc/pvs +++ b/ext/Devel/PPPort/parts/inc/pvs @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 6 $ +## $Revision: 8 $ ## $Author: mhx $ -## $Date: 2007/10/04 12:26:54 +0200 $ +## $Date: 2008/01/04 12:02:59 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## @@ -29,6 +29,7 @@ __UNDEFINED__ __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__ 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) @@ -39,7 +40,13 @@ __UNDEFINED__ hv_stores(hv, key, val) hv_store(hv, key "", sizeof(key) - 1, void newSVpvs() PPCODE: - XPUSHs(newSVpvs("newSVpvs")); + mXPUSHs(newSVpvs("newSVpvs")); + XSRETURN(1); + +void +newSVpvs_flags() + PPCODE: + XPUSHs(newSVpvs_flags("newSVpvs_flags", SVs_TEMP)); XSRETURN(1); void @@ -71,11 +78,12 @@ hv_stores(hv, sv) PPCODE: (void) hv_stores((HV *) SvRV(hv), "hv_stores", SvREFCNT_inc_simple(sv)); -=tests plan => 7 +=tests plan => 8 my $x = 'foo'; ok(Devel::PPPort::newSVpvs(), "newSVpvs"); +ok(Devel::PPPort::newSVpvs_flags(), "newSVpvs_flags"); Devel::PPPort::sv_catpvs($x); ok($x, "foosv_catpvs"); diff --git a/ext/Devel/PPPort/parts/inc/shared_pv b/ext/Devel/PPPort/parts/inc/shared_pv index ee3d6ea..4c36c99 100644 --- a/ext/Devel/PPPort/parts/inc/shared_pv +++ b/ext/Devel/PPPort/parts/inc/shared_pv @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 3 $ +## $Revision: 4 $ ## $Author: mhx $ -## $Date: 2007/09/11 23:20:42 +0200 $ +## $Date: 2008/01/04 10:47:40 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/ext/Devel/PPPort/parts/inc/snprintf b/ext/Devel/PPPort/parts/inc/snprintf index 5a6e616..84374ae 100644 --- a/ext/Devel/PPPort/parts/inc/snprintf +++ b/ext/Devel/PPPort/parts/inc/snprintf @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 2 $ +## $Revision: 4 $ ## $Author: mhx $ -## $Date: 2007/01/02 12:32:28 +0100 $ +## $Date: 2008/01/04 14:54:43 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## @@ -58,8 +58,8 @@ my_snprintf() int len; PPCODE: len = my_snprintf(buf, sizeof buf, "foo%s%d", "bar", 42); - XPUSHs(newSViv(len)); - XPUSHs(newSVpv(buf, 0)); + mXPUSHi(len); + mXPUSHs(newSVpv(buf, 0)); XSRETURN(2); =tests plan => 2 diff --git a/ext/Devel/PPPort/parts/inc/strlfuncs b/ext/Devel/PPPort/parts/inc/strlfuncs index 035d29e..c4802e3 100644 --- a/ext/Devel/PPPort/parts/inc/strlfuncs +++ b/ext/Devel/PPPort/parts/inc/strlfuncs @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 3 $ +## $Revision: 5 $ ## $Author: mhx $ -## $Date: 2007/01/02 12:32:28 +0100 $ +## $Date: 2008/01/04 14:54:44 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## @@ -76,23 +76,23 @@ my_strlfunc() int len; PPCODE: len = my_strlcpy(buf, "foo", sizeof(buf)); - XPUSHs(newSViv(len)); - XPUSHs(newSVpv(buf, 0)); + mXPUSHi(len); + mXPUSHs(newSVpv(buf, 0)); len = my_strlcat(buf, "bar", sizeof(buf)); - XPUSHs(newSViv(len)); - XPUSHs(newSVpv(buf, 0)); + mXPUSHi(len); + mXPUSHs(newSVpv(buf, 0)); len = my_strlcat(buf, "baz", sizeof(buf)); - XPUSHs(newSViv(len)); - XPUSHs(newSVpv(buf, 0)); + mXPUSHi(len); + mXPUSHs(newSVpv(buf, 0)); len = my_strlcpy(buf, "1234567890", sizeof(buf)); - XPUSHs(newSViv(len)); - XPUSHs(newSVpv(buf, 0)); + mXPUSHi(len); + mXPUSHs(newSVpv(buf, 0)); len = my_strlcpy(buf, "1234", sizeof(buf)); - XPUSHs(newSViv(len)); - XPUSHs(newSVpv(buf, 0)); + mXPUSHi(len); + mXPUSHs(newSVpv(buf, 0)); len = my_strlcat(buf, "567890123456", sizeof(buf)); - XPUSHs(newSViv(len)); - XPUSHs(newSVpv(buf, 0)); + mXPUSHi(len); + mXPUSHs(newSVpv(buf, 0)); XSRETURN(12); =tests plan => 13 diff --git a/ext/Devel/PPPort/parts/inc/sv_xpvf b/ext/Devel/PPPort/parts/inc/sv_xpvf index 5de173a..ea474fa 100644 --- a/ext/Devel/PPPort/parts/inc/sv_xpvf +++ b/ext/Devel/PPPort/parts/inc/sv_xpvf @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 8 $ +## $Revision: 9 $ ## $Author: mhx $ -## $Date: 2007/09/11 23:20:43 +0200 $ +## $Date: 2008/01/04 10:47:41 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/ext/Devel/PPPort/parts/inc/threads b/ext/Devel/PPPort/parts/inc/threads index 6002743..fe5a153 100644 --- a/ext/Devel/PPPort/parts/inc/threads +++ b/ext/Devel/PPPort/parts/inc/threads @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 9 $ +## $Revision: 10 $ ## $Author: mhx $ -## $Date: 2007/08/18 20:16:12 +0200 $ +## $Date: 2008/01/04 10:47:42 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/ext/Devel/PPPort/parts/inc/uv b/ext/Devel/PPPort/parts/inc/uv index 5e85503..d638fb8 100644 --- a/ext/Devel/PPPort/parts/inc/uv +++ b/ext/Devel/PPPort/parts/inc/uv @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 15 $ +## $Revision: 16 $ ## $Author: mhx $ -## $Date: 2007/08/12 15:53:17 +0200 $ +## $Date: 2008/01/04 10:47:42 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/ext/Devel/PPPort/parts/inc/variables b/ext/Devel/PPPort/parts/inc/variables index 6fd95d9..e381908 100644 --- a/ext/Devel/PPPort/parts/inc/variables +++ b/ext/Devel/PPPort/parts/inc/variables @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 13 $ +## $Revision: 15 $ ## $Author: mhx $ -## $Date: 2007/10/04 10:21:28 +0200 $ +## $Date: 2008/01/04 14:54:44 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## @@ -157,7 +157,7 @@ U32 get_PL_signals_1(void) extern U32 get_PL_signals_2(void); extern U32 get_PL_signals_3(void); -#define ppp_TESTVAR(var) STMT_START { XPUSHs(newSViv(&var != NULL)); count++; } STMT_END +#define ppp_TESTVAR(var) STMT_START { mXPUSHi(&var != NULL); count++; } STMT_END =xsubs @@ -256,7 +256,7 @@ PL_ppaddr(string) char *string PPCODE: PUSHMARK(SP); - XPUSHs(sv_2mortal(newSVpv(string, 0))); + mXPUSHs(newSVpv(string, 0)); PUTBACK; ENTER; (void)*(PL_ppaddr[OP_UC])(aTHXR); diff --git a/ext/Devel/PPPort/parts/inc/version b/ext/Devel/PPPort/parts/inc/version index 60bd24e..cd5ae18 100644 --- a/ext/Devel/PPPort/parts/inc/version +++ b/ext/Devel/PPPort/parts/inc/version @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 8 $ +## $Revision: 9 $ ## $Author: mhx $ -## $Date: 2007/08/13 23:00:34 +0200 $ +## $Date: 2008/01/04 10:47:43 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/ext/Devel/PPPort/parts/inc/warn b/ext/Devel/PPPort/parts/inc/warn index eda8f2c..cdcf71c 100644 --- a/ext/Devel/PPPort/parts/inc/warn +++ b/ext/Devel/PPPort/parts/inc/warn @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 5 $ +## $Revision: 6 $ ## $Author: mhx $ -## $Date: 2007/08/12 23:57:10 +0200 $ +## $Date: 2008/01/04 10:47:41 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/ext/Devel/PPPort/parts/ppport.fnc b/ext/Devel/PPPort/parts/ppport.fnc index 0a8495a..5348fb6 100644 --- a/ext/Devel/PPPort/parts/ppport.fnc +++ b/ext/Devel/PPPort/parts/ppport.fnc @@ -4,13 +4,13 @@ : :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: : -: $Revision: 1 $ +: $Revision: 2 $ : $Author: mhx $ -: $Date: 2007/08/12 15:02:00 +0200 $ +: $Date: 2008/01/04 10:47:39 +0100 $ : :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: : -: Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +: Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. : Version 2.x, Copyright (C) 2001, Paul Marquess. : Version 1.x, Copyright (C) 1999, Kenneth Albanowski. : diff --git a/ext/Devel/PPPort/parts/ppptools.pl b/ext/Devel/PPPort/parts/ppptools.pl index f8227a8..6deef78 100644 --- a/ext/Devel/PPPort/parts/ppptools.pl +++ b/ext/Devel/PPPort/parts/ppptools.pl @@ -4,13 +4,13 @@ # ################################################################################ # -# $Revision: 22 $ +# $Revision: 23 $ # $Author: mhx $ -# $Date: 2007/08/19 01:18:23 +0200 $ +# $Date: 2008/01/04 10:47:40 +0100 $ # ################################################################################ # -# Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +# Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. # Version 2.x, Copyright (C) 2001, Paul Marquess. # Version 1.x, Copyright (C) 1999, Kenneth Albanowski. # diff --git a/ext/Devel/PPPort/parts/todo/5005000 b/ext/Devel/PPPort/parts/todo/5005000 index ef7078a..b99f61e 100644 --- a/ext/Devel/PPPort/parts/todo/5005000 +++ b/ext/Devel/PPPort/parts/todo/5005000 @@ -17,10 +17,11 @@ regexec_flags # U regnext # E (Perl_regnext) runops_debug # U runops_standard # U -save_hints # U save_iv # U (save_iv) screaminstr # E (Perl_screaminstr) sv_iv # U sv_nv # U sv_peek # U +sv_pvn # U +sv_pvn_nomg # U sv_true # U diff --git a/ext/Devel/PPPort/parts/todo/5009003 b/ext/Devel/PPPort/parts/todo/5009003 index b6bde5d..86e7286 100644 --- a/ext/Devel/PPPort/parts/todo/5009003 +++ b/ext/Devel/PPPort/parts/todo/5009003 @@ -22,7 +22,6 @@ newSVhek # U newSVpvs_share # U newWHENOP # U newWHILEOP # E (Perl_newWHILEOP) -ref # U (Perl_ref) savepvs # U sortsv_flags # U vverify # U diff --git a/ext/Devel/PPPort/parts/todo/5009005 b/ext/Devel/PPPort/parts/todo/5009005 index f124d26..1d1a1a6 100644 --- a/ext/Devel/PPPort/parts/todo/5009005 +++ b/ext/Devel/PPPort/parts/todo/5009005 @@ -1,7 +1,4 @@ 5.009005 -MULTICALL # E -POP_MULTICALL # E -PUSH_MULTICALL # E Perl_signbit # U SvRX # U SvRXOK # U @@ -9,14 +6,10 @@ av_create_and_push # U av_create_and_unshift_one # U get_cvn_flags # U gv_fetchfile_flags # U -hv_assert # U mro_get_linear_isa # U -mro_get_linear_isa_c3 # U -mro_get_linear_isa_dfs # U mro_method_changed_in # U my_dirfd # U newSV_type # U -pad_sv # U pregcomp # E (Perl_pregcomp) ptr_table_clear # U ptr_table_fetch # U @@ -36,5 +29,4 @@ reg_stringify # U regfree_internal # U savesharedpvn # U scan_vstring # E (Perl_scan_vstring) -stashpv_hvname_match # U upg_version # E (Perl_upg_version) diff --git a/ext/Devel/PPPort/parts/todo/5010000 b/ext/Devel/PPPort/parts/todo/5010000 new file mode 100644 index 0000000..737f374 --- /dev/null +++ b/ext/Devel/PPPort/parts/todo/5010000 @@ -0,0 +1,7 @@ +5.010000 +hv_common # U +hv_common_key_len # U +sv_destroyable # U +sys_init # U +sys_init3 # U +sys_term # U diff --git a/ext/Devel/PPPort/parts/todo/5011000 b/ext/Devel/PPPort/parts/todo/5011000 new file mode 100644 index 0000000..acb265e --- /dev/null +++ b/ext/Devel/PPPort/parts/todo/5011000 @@ -0,0 +1,11 @@ +5.011000 +HeUTF8 # U +MULTICALL # E +POP_MULTICALL # E +PUSH_MULTICALL # E +av_iter_p # U +hv_assert # U +pad_sv # U +pregfree2 # U +ref # U (Perl_ref) +stashpv_hvname_match # U diff --git a/ext/Devel/PPPort/soak b/ext/Devel/PPPort/soak index c1827e4..a239ee7 100644 --- a/ext/Devel/PPPort/soak +++ b/ext/Devel/PPPort/soak @@ -7,13 +7,13 @@ # ################################################################################ # -# $Revision: 16 $ +# $Revision: 18 $ # $Author: mhx $ -# $Date: 2007/08/12 23:25:33 +0200 $ +# $Date: 2008/01/04 10:47:38 +0100 $ # ################################################################################ # -# Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +# Version 3.x, Copyright (C) 2004-2008, 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.13 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' }; +my $VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.13_01 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' }; $| = 1; my %OPT = ( @@ -185,13 +185,13 @@ sub SearchPerls if (-d $arg) { my @found; print "Searching for Perl binaries in '$arg'...\n"; - find(sub { + find({ wanted => sub { $File::Find::name =~ m!perl5[\w._]+$! and -f $File::Find::name and -x $File::Find::name and perl_version($File::Find::name) and push @found, $File::Find::name; - }, $arg); + }, follow => 1 }, $arg); printf "Found %d Perl binar%s in '%s'.\n\n", cs(@found, 'y', 'ies'), $arg; push @perls, @found; } @@ -589,7 +589,7 @@ going on, use the I<--verbose> option: =head1 COPYRIGHT -Version 3.x, Copyright (c) 2004-2007, Marcus Holland-Moritz. +Version 3.x, Copyright (c) 2004-2008, Marcus Holland-Moritz. Version 2.x, Copyright (C) 2001, Paul Marquess. diff --git a/ext/Devel/PPPort/t/mPUSH.t b/ext/Devel/PPPort/t/mPUSH.t index 1ac30e8..afe1032 100644 --- a/ext/Devel/PPPort/t/mPUSH.t +++ b/ext/Devel/PPPort/t/mPUSH.t @@ -30,9 +30,9 @@ BEGIN { require 'testutil.pl' if $@; } - if (8) { + if (10) { load(); - plan(tests => 8); + plan(tests => 10); } } @@ -48,11 +48,13 @@ bootstrap Devel::PPPort; package main; +ok(join(':', &Devel::PPPort::mPUSHs()), "foo:bar:42"); ok(join(':', &Devel::PPPort::mPUSHp()), "one:two:three"); ok(join(':', &Devel::PPPort::mPUSHn()), "0.5:-0.25:0.125"); ok(join(':', &Devel::PPPort::mPUSHi()), "-1:2:-3"); ok(join(':', &Devel::PPPort::mPUSHu()), "1:2:3"); +ok(join(':', &Devel::PPPort::mXPUSHs()), "foo:bar:42"); ok(join(':', &Devel::PPPort::mXPUSHp()), "one:two:three"); ok(join(':', &Devel::PPPort::mXPUSHn()), "0.5:-0.25:0.125"); ok(join(':', &Devel::PPPort::mXPUSHi()), "-1:2:-3"); diff --git a/ext/Devel/PPPort/t/misc.t b/ext/Devel/PPPort/t/misc.t index a8bb234..653b189 100644 --- a/ext/Devel/PPPort/t/misc.t +++ b/ext/Devel/PPPort/t/misc.t @@ -30,9 +30,9 @@ BEGIN { require 'testutil.pl' if $@; } - if (38) { + if (32) { load(); - plan(tests => 38); + plan(tests => 32); } } @@ -50,14 +50,6 @@ package main; use vars qw($my_sv @my_av %my_hv); -my @s = &Devel::PPPort::newSVpvn(); -ok(@s == 5); -ok($s[0], "test"); -ok($s[1], "te"); -ok($s[2], ""); -ok(!defined($s[3])); -ok(!defined($s[4])); - ok(&Devel::PPPort::boolSV(1)); ok(!&Devel::PPPort::boolSV(0)); diff --git a/ext/Devel/PPPort/t/newSVpv.t b/ext/Devel/PPPort/t/newSVpv.t new file mode 100644 index 0000000..18031a8 --- /dev/null +++ b/ext/Devel/PPPort/t/newSVpv.t @@ -0,0 +1,78 @@ +################################################################################ +# +# !!!!! Do NOT edit this file directly! !!!!! +# +# Edit mktests.PL and/or parts/inc/newSVpv instead. +# +# This file was automatically generated from the definition files in the +# parts/inc/ subdirectory by mktests.PL. To learn more about how all this +# works, please read the F file that came with this distribution. +# +################################################################################ + +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 ]) { + print "1..0 # Skip -- Perl configured without Devel::PPPort module\n"; + exit 0; + } + } + else { + unshift @INC, 't'; + } + + sub load { + eval "use Test"; + require 'testutil.pl' if $@; + } + + if (15) { + load(); + plan(tests => 15); + } +} + +use Devel::PPPort; +use strict; +$^W = 1; + +package Devel::PPPort; +use vars '@ISA'; +require DynaLoader; +@ISA = qw(DynaLoader); +bootstrap Devel::PPPort; + +package main; + +my @s = &Devel::PPPort::newSVpvn(); +ok(@s == 5); +ok($s[0], "test"); +ok($s[1], "te"); +ok($s[2], ""); +ok(!defined($s[3])); +ok(!defined($s[4])); + +@s = &Devel::PPPort::newSVpvn_flags(); +ok(@s == 5); +ok($s[0], "test"); +ok($s[1], "te"); +ok($s[2], ""); +ok(!defined($s[3])); +ok(!defined($s[4])); + +@s = &Devel::PPPort::newSVpvn_utf8(); +ok(@s == 1); +ok($s[0], "test"); + +if ($] >= 5.008001) { + require utf8; + ok(utf8::is_utf8($s[0])); +} +else { + skip("skip: no is_utf8()", 0); +} + diff --git a/ext/Devel/PPPort/t/pvs.t b/ext/Devel/PPPort/t/pvs.t index 3d387bc..4cfcb0f 100644 --- a/ext/Devel/PPPort/t/pvs.t +++ b/ext/Devel/PPPort/t/pvs.t @@ -30,9 +30,9 @@ BEGIN { require 'testutil.pl' if $@; } - if (7) { + if (8) { load(); - plan(tests => 7); + plan(tests => 8); } } @@ -51,6 +51,7 @@ package main; my $x = 'foo'; ok(Devel::PPPort::newSVpvs(), "newSVpvs"); +ok(Devel::PPPort::newSVpvs_flags(), "newSVpvs_flags"); Devel::PPPort::sv_catpvs($x); ok($x, "foosv_catpvs"); diff --git a/ext/Devel/PPPort/typemap b/ext/Devel/PPPort/typemap index 5a9e479..c2030c1 100644 --- a/ext/Devel/PPPort/typemap +++ b/ext/Devel/PPPort/typemap @@ -4,13 +4,13 @@ # ################################################################################ # -# $Revision: 6 $ +# $Revision: 7 $ # $Author: mhx $ -# $Date: 2007/01/02 12:32:26 +0100 $ +# $Date: 2008/01/04 10:47:37 +0100 $ # ################################################################################ # -# Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz. +# Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz. # Version 2.x, Copyright (C) 2001, Paul Marquess. # Version 1.x, Copyright (C) 1999, Kenneth Albanowski. #