In perl.git, the branch maint-5.10 has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/a9b2b00cdb9434f3835ec47bf82a09ad08ca44c2?hp=f4fec26b83a246103a7726622490f9dfee02acb4>

- Log -----------------------------------------------------------------
commit a9b2b00cdb9434f3835ec47bf82a09ad08ca44c2
Author: David Golden <[email protected]>
Date:   Tue Jun 16 09:36:25 2009 +0200

    add-package.pl lib exclude fixed
    
    (cherry picked from commit 17633433c13dda15b2bbefe0fff88605b4fe7a6e)

M       Porting/add-package.pl

commit 745e998d590905fa0c2b9124db859e50e3b29ad5
Author: Florian Ragwitz <[email protected]>
Date:   Mon Jun 15 16:47:25 2009 +0200

    Update 'NEXT' version in Maintainers.pl
    
    (cherry picked from commit 91490fbe1187ee0d1ab27187fe75104690120930)

M       Porting/Maintainers.pl

commit f93e8482841a94244e73256fb3f614a55c914ebe
Author: Marcus Holland-Moritz <[email protected]>
Date:   Sun Jun 14 11:57:55 2009 +0200

    Upgrade to Devel::PPPort 3.19
    
    (cherry picked from commit 423174046424f87a68e7227cd8015f1926fede2d)

M       ext/Devel-PPPort/Changes
M       ext/Devel-PPPort/PPPort_pm.PL
M       ext/Devel-PPPort/parts/apidoc.fnc
M       ext/Devel-PPPort/parts/base/5006000
M       ext/Devel-PPPort/parts/base/5009003
M       ext/Devel-PPPort/parts/base/5009004
M       ext/Devel-PPPort/parts/base/5009005
M       ext/Devel-PPPort/parts/base/5010000
M       ext/Devel-PPPort/parts/base/5011000
M       ext/Devel-PPPort/parts/embed.fnc
M       ext/Devel-PPPort/parts/todo/5006000
M       ext/Devel-PPPort/parts/todo/5009002
M       ext/Devel-PPPort/parts/todo/5009003
M       ext/Devel-PPPort/parts/todo/5009005
M       ext/Devel-PPPort/parts/todo/5011000
M       ext/Devel-PPPort/soak

commit 4ccce966701f05deb89439923c04a32e8e71f806
Author: Marcus Holland-Moritz <[email protected]>
Date:   Fri Jun 12 13:23:26 2009 +0200

    Upgrade to Devel::PPPort 3.18_01
    
    (cherry picked from commit 8565c31a574ba4f7dc8cd69b66988949074e120d)

M       MANIFEST
M       ext/Devel-PPPort/Changes
M       ext/Devel-PPPort/Makefile.PL
M       ext/Devel-PPPort/PPPort_pm.PL
M       ext/Devel-PPPort/mktests.PL
M       ext/Devel-PPPort/parts/apicheck.pl
A       ext/Devel-PPPort/parts/inc/HvNAME
A       ext/Devel-PPPort/parts/inc/gv
M       ext/Devel-PPPort/parts/inc/misc
A       ext/Devel-PPPort/parts/inc/newSV_type
M       ext/Devel-PPPort/parts/inc/pvs
M       ext/Devel-PPPort/parts/inc/variables
M       ext/Devel-PPPort/soak
A       ext/Devel-PPPort/t/HvNAME.t
A       ext/Devel-PPPort/t/gv.t
A       ext/Devel-PPPort/t/newSV_type.t
M       ext/Devel-PPPort/t/pvs.t
M       ext/Devel-PPPort/t/variables.t
M       ext/Devel-PPPort/typemap

commit 1a557a3d42f0d3875cc0fa0b8638e0597df5e322
Author: Rafael Garcia-Suarez <[email protected]>
Date:   Mon Jun 15 16:16:17 2009 +0200

    Fix readline example in perlfunc
    
    Only check $! if an error was encountered (that is, not at end of file)
    
    (cherry picked from commit d947e7a211e365be90c523f5ad3b72b031e840c2)

M       pod/perlfunc.pod
-----------------------------------------------------------------------

Summary of changes:
 MANIFEST                                       |    6 ++
 Porting/Maintainers.pl                         |    2 +-
 Porting/add-package.pl                         |    4 +-
 ext/Devel-PPPort/Changes                       |   25 +++++++
 ext/Devel-PPPort/Makefile.PL                   |    4 +-
 ext/Devel-PPPort/PPPort_pm.PL                  |   16 +++--
 ext/Devel-PPPort/mktests.PL                    |    4 +-
 ext/Devel-PPPort/parts/apicheck.pl             |    5 +-
 ext/Devel-PPPort/parts/apidoc.fnc              |    3 +
 ext/Devel-PPPort/parts/base/5006000            |    1 +
 ext/Devel-PPPort/parts/base/5009003            |    3 +
 ext/Devel-PPPort/parts/base/5009004            |    2 +
 ext/Devel-PPPort/parts/base/5009005            |    1 +
 ext/Devel-PPPort/parts/base/5010000            |    1 +
 ext/Devel-PPPort/parts/base/5011000            |    4 +
 ext/Devel-PPPort/parts/embed.fnc               |   13 ++--
 ext/Devel-PPPort/parts/inc/{sprintf => HvNAME} |   53 +++++----------
 ext/Devel-PPPort/parts/inc/{newRV => gv}       |   68 ++++++++-----------
 ext/Devel-PPPort/parts/inc/misc                |   17 ++++-
 ext/Devel-PPPort/parts/inc/newSV_type          |   86 ++++++++++++++++++++++++
 ext/Devel-PPPort/parts/inc/pvs                 |   35 +++++++++-
 ext/Devel-PPPort/parts/inc/variables           |   42 +++++++++++-
 ext/Devel-PPPort/parts/todo/5006000            |    1 +
 ext/Devel-PPPort/parts/todo/5009002            |    1 -
 ext/Devel-PPPort/parts/todo/5009003            |    1 -
 ext/Devel-PPPort/parts/todo/5009005            |    1 -
 ext/Devel-PPPort/parts/todo/5011000            |    1 +
 ext/Devel-PPPort/soak                          |    2 +-
 ext/Devel-PPPort/t/{limits.t => HvNAME.t}      |   11 ++--
 ext/Devel-PPPort/t/{sprintf.t => gv.t}         |    8 +-
 ext/Devel-PPPort/t/{memory.t => newSV_type.t}  |    4 +-
 ext/Devel-PPPort/t/pvs.t                       |    7 ++-
 ext/Devel-PPPort/t/variables.t                 |    4 +-
 ext/Devel-PPPort/typemap                       |   10 ++-
 pod/perlfunc.pod                               |    2 +-
 35 files changed, 322 insertions(+), 126 deletions(-)
 copy ext/Devel-PPPort/parts/inc/{sprintf => HvNAME} (50%)
 copy ext/Devel-PPPort/parts/inc/{newRV => gv} (50%)
 create mode 100644 ext/Devel-PPPort/parts/inc/newSV_type
 copy ext/Devel-PPPort/t/{limits.t => HvNAME.t} (79%)
 copy ext/Devel-PPPort/t/{sprintf.t => gv.t} (89%)
 copy ext/Devel-PPPort/t/{memory.t => newSV_type.t} (91%)

diff --git a/MANIFEST b/MANIFEST
index 2a2f2b7..c0dad6d 100755
--- a/MANIFEST
+++ b/MANIFEST
@@ -292,6 +292,8 @@ ext/Devel-PPPort/parts/inc/cop      Devel::PPPort include
 ext/Devel-PPPort/parts/inc/exception   Devel::PPPort include
 ext/Devel-PPPort/parts/inc/format      Devel::PPPort include
 ext/Devel-PPPort/parts/inc/grok        Devel::PPPort include
+ext/Devel-PPPort/parts/inc/gv  Devel::PPPort include
+ext/Devel-PPPort/parts/inc/HvNAME      Devel::PPPort include
 ext/Devel-PPPort/parts/inc/limits      Devel::PPPort include
 ext/Devel-PPPort/parts/inc/magic       Devel::PPPort include
 ext/Devel-PPPort/parts/inc/memory      Devel::PPPort include
@@ -300,6 +302,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/newSV_type  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
@@ -368,6 +371,8 @@ ext/Devel-PPPort/t/cop.t    Devel::PPPort test file
 ext/Devel-PPPort/t/exception.t Devel::PPPort test file
 ext/Devel-PPPort/t/format.t    Devel::PPPort test file
 ext/Devel-PPPort/t/grok.t      Devel::PPPort test file
+ext/Devel-PPPort/t/gv.t        Devel::PPPort test file
+ext/Devel-PPPort/t/HvNAME.t    Devel::PPPort test file
 ext/Devel-PPPort/t/limits.t    Devel::PPPort test file
 ext/Devel-PPPort/t/magic.t     Devel::PPPort test file
 ext/Devel-PPPort/t/memory.t    Devel::PPPort test file
@@ -376,6 +381,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/t/newSV_type.t        Devel::PPPort test file
 ext/Devel-PPPort/t/newSVpv.t   Devel::PPPort test file
 ext/Devel-PPPort/TODO          Devel::PPPort Todo
 ext/Devel-PPPort/t/podtest.t   Devel::PPPort test file
diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl
index c0414fc..4c4be36 100644
--- a/Porting/Maintainers.pl
+++ b/Porting/Maintainers.pl
@@ -1195,7 +1195,7 @@ package Maintainers;
     'NEXT' =>
        {
        'MAINTAINER'    => 'rafl',
-       'DISTRIBUTION'  => 'FLORA/NEXT-0.63.tar.gz',
+       'DISTRIBUTION'  => 'FLORA/NEXT-0.64.tar.gz',
        'FILES'         => q[lib/NEXT.pm lib/NEXT],
        'EXCLUDED'      => [ qr{^demo/} ],
        'CPAN'          => 1,
diff --git a/Porting/add-package.pl b/Porting/add-package.pl
index c8fe807..d91c3d5 100644
--- a/Porting/add-package.pl
+++ b/Porting/add-package.pl
@@ -75,8 +75,8 @@ my @LibFiles;
     @LibFiles =    map { chomp; $_ }
                     ### should we get rid of this file?
                     grep { $ExcludeRe && $_ =~ $ExcludeRe
-                        ? do {  warn "Removing $_\n";
-                                system("rm $_") and die "rm '$_' failed: $?";
+                        ? do {  warn "Removing $Repo/$_\n";
+                                system("rm $Repo/$_") and die "rm '$Repo/$_' 
failed: $?";
                                 undef
                             }
                         : 1
diff --git a/ext/Devel-PPPort/Changes b/ext/Devel-PPPort/Changes
index 8ad4106..fb8ba3a 100644
--- a/ext/Devel-PPPort/Changes
+++ b/ext/Devel-PPPort/Changes
@@ -1,3 +1,28 @@
+3.19 - 2009-06-14
+
+    * updated base/todo files
+
+3.18_01 - 2009-06-12
+
+    * fix CPAN #44614: Please support XSBODY
+    * fix CPAN #44655: Please support SVfARG
+    * added support for the following API
+        gv_fetchpvn_flags
+        gv_fetchpvs
+        gv_stashpvs
+        GvSVn
+        HvNAME_get
+        HvNAMELEN_get
+        isGV_with_GP
+        newSV_type
+        PL_error_count
+        PL_in_my
+        PL_in_my_stash
+        SVfARG
+        XSPROTO
+      (thanks to Goro Fuji for providing a patch to
+      implement almost all of these, fixes CPAN #44087)
+
 3.18 - 2009-06-12
 
     * remove MAN3PODS option from Makefile.PL, which is
diff --git a/ext/Devel-PPPort/Makefile.PL b/ext/Devel-PPPort/Makefile.PL
index f0023db..67eebc1 100644
--- a/ext/Devel-PPPort/Makefile.PL
+++ b/ext/Devel-PPPort/Makefile.PL
@@ -4,9 +4,9 @@
 #
 
################################################################################
 #
-#  $Revision: 31 $
+#  $Revision: 30 $
 #  $Author: mhx $
-#  $Date: 2009/06/12 12:45:44 +0200 $
+#  $Date: 2009/06/12 04:07:05 +0200 $
 #
 
################################################################################
 #
diff --git a/ext/Devel-PPPort/PPPort_pm.PL b/ext/Devel-PPPort/PPPort_pm.PL
index 83a4739..fcc8671 100644
--- a/ext/Devel-PPPort/PPPort_pm.PL
+++ b/ext/Devel-PPPort/PPPort_pm.PL
@@ -4,9 +4,9 @@
 #
 
################################################################################
 #
-#  $Revision: 64 $
+#  $Revision: 65 $
 #  $Author: mhx $
-#  $Date: 2009/01/18 14:10:49 +0100 $
+#  $Date: 2009/06/12 04:10:36 +0200 $
 #
 
################################################################################
 #
@@ -372,9 +372,9 @@ __DATA__
 #
 
################################################################################
 #
-#  $Revision: 64 $
+#  $Revision: 65 $
 #  $Author: mhx $
-#  $Date: 2009/01/18 14:10:49 +0100 $
+#  $Date: 2009/06/12 04:10:36 +0200 $
 #
 
################################################################################
 #
@@ -535,7 +535,7 @@ package Devel::PPPort;
 use strict;
 use vars qw($VERSION $data);
 
-$VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.18 $' =~ 
/(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' };
+$VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.19 $' =~ 
/(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' };
 
 sub _init_data
 {
@@ -628,6 +628,8 @@ __DATA__
 
 %include SvREFCNT
 
+%include newSV_type
+
 %include newSVpv
 
 %include SvPV
@@ -638,6 +640,10 @@ __DATA__
 
 %include shared_pv
 
+%include HvNAME
+
+%include gv
+
 %include warn
 
 %include pvs
diff --git a/ext/Devel-PPPort/mktests.PL b/ext/Devel-PPPort/mktests.PL
index 332f9a4..98b80ed 100644
--- a/ext/Devel-PPPort/mktests.PL
+++ b/ext/Devel-PPPort/mktests.PL
@@ -4,9 +4,9 @@
 #
 
################################################################################
 #
-#  $Revision: 32 $
+#  $Revision: 31 $
 #  $Author: mhx $
-#  $Date: 2009/06/12 12:46:07 +0200 $
+#  $Date: 2009/06/11 20:53:42 +0200 $
 #
 
################################################################################
 #
diff --git a/ext/Devel-PPPort/parts/apicheck.pl 
b/ext/Devel-PPPort/parts/apicheck.pl
index 3590142..e6caab5 100644
--- a/ext/Devel-PPPort/parts/apicheck.pl
+++ b/ext/Devel-PPPort/parts/apicheck.pl
@@ -5,9 +5,9 @@
 #
 
################################################################################
 #
-#  $Revision: 34 $
+#  $Revision: 35 $
 #  $Author: mhx $
-#  $Date: 2009/01/18 14:10:51 +0100 $
+#  $Date: 2009/06/12 12:29:35 +0200 $
 #
 
################################################################################
 #
@@ -156,6 +156,7 @@ print OUT <<HEAD;
 #define NEED_my_strlcpy
 #define NEED_newCONSTSUB
 #define NEED_newRV_noinc
+#define NEED_newSV_type
 #define NEED_newSVpvn_share
 #define NEED_pv_display
 #define NEED_pv_escape
diff --git a/ext/Devel-PPPort/parts/apidoc.fnc 
b/ext/Devel-PPPort/parts/apidoc.fnc
index 616a9b4..740e04f 100644
--- a/ext/Devel-PPPort/parts/apidoc.fnc
+++ b/ext/Devel-PPPort/parts/apidoc.fnc
@@ -209,6 +209,9 @@ Am|void|mXPUSHu|UV uv
 Am|void|Newxc|void* ptr|int nitems|type|cast
 Am|void|Newx|void* ptr|int nitems|type
 Am|void|Newxz|void* ptr|int nitems|type
+Am|void|PERL_SYS_INIT3|int argc|char** argv|char** env
+Am|void|PERL_SYS_INIT|int argc|char** argv
+Am|void|PERL_SYS_TERM|
 Am|void|PoisonFree|void* dest|int nitems|type
 Am|void|PoisonNew|void* dest|int nitems|type
 Am|void|Poison|void* dest|int nitems|type
diff --git a/ext/Devel-PPPort/parts/base/5006000 
b/ext/Devel-PPPort/parts/base/5006000
index 47d788e..924da63 100644
--- a/ext/Devel-PPPort/parts/base/5006000
+++ b/ext/Devel-PPPort/parts/base/5006000
@@ -1,4 +1,5 @@
 5.006000
+PERL_SYS_INIT3                 # U
 POPn                           # E
 PUSHn                          # E
 SvIOK_UV                       # U
diff --git a/ext/Devel-PPPort/parts/base/5009003 
b/ext/Devel-PPPort/parts/base/5009003
index 61ddf37..2306055 100644
--- a/ext/Devel-PPPort/parts/base/5009003
+++ b/ext/Devel-PPPort/parts/base/5009003
@@ -36,6 +36,9 @@ savepvs                        # U
 sortsv_flags                   # U
 sv_catpvs                      # U
 vverify                        # U
+GvSVn                          # added by devel/scanprov
+HvNAMELEN_get                  # added by devel/scanprov
+HvNAME_get                     # added by devel/scanprov
 PERLIO_FUNCS_CAST              # added by devel/scanprov
 PERLIO_FUNCS_DECL              # added by devel/scanprov
 PERL_UNUSED_ARG                # added by devel/scanprov
diff --git a/ext/Devel-PPPort/parts/base/5009004 
b/ext/Devel-PPPort/parts/base/5009004
index eadb7e2..2f88d2a 100644
--- a/ext/Devel-PPPort/parts/base/5009004
+++ b/ext/Devel-PPPort/parts/base/5009004
@@ -38,3 +38,5 @@ PERL_UNUSED_CONTEXT            # added by devel/scanprov
 PERL_USE_GCC_BRACE_GROUPS      # added by devel/scanprov
 SV_HAS_TRAILING_NUL            # added by devel/scanprov
 SvVSTRING_mg                   # added by devel/scanprov
+gv_fetchpvs                    # added by devel/scanprov
+isGV_with_GP                   # added by devel/scanprov
diff --git a/ext/Devel-PPPort/parts/base/5009005 
b/ext/Devel-PPPort/parts/base/5009005
index 738c630..68ceff2 100644
--- a/ext/Devel-PPPort/parts/base/5009005
+++ b/ext/Devel-PPPort/parts/base/5009005
@@ -32,3 +32,4 @@ 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
diff --git a/ext/Devel-PPPort/parts/base/5010000 
b/ext/Devel-PPPort/parts/base/5010000
index be08fd8..922e614 100644
--- a/ext/Devel-PPPort/parts/base/5010000
+++ b/ext/Devel-PPPort/parts/base/5010000
@@ -7,3 +7,4 @@ sys_init3                      # U
 sys_term                       # U
 PERL_PV_PRETTY_ELLIPSES        # added by devel/scanprov
 PERL_PV_PRETTY_NOCLEAR         # added by devel/scanprov
+XSPROTO                        # added by devel/scanprov
diff --git a/ext/Devel-PPPort/parts/base/5011000 
b/ext/Devel-PPPort/parts/base/5011000
index ba064c5..fe92c15 100644
--- a/ext/Devel-PPPort/parts/base/5011000
+++ b/ext/Devel-PPPort/parts/base/5011000
@@ -1,6 +1,7 @@
 5.011000
 HeUTF8                         # U
 MULTICALL                      # E
+PERL_SYS_TERM                  # E
 POP_MULTICALL                  # E
 PUSH_MULTICALL                 # E
 SvOOK_offset                   # U
@@ -37,7 +38,10 @@ 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
diff --git a/ext/Devel-PPPort/parts/embed.fnc b/ext/Devel-PPPort/parts/embed.fnc
index cae666c..68f3817 100644
--- a/ext/Devel-PPPort/parts/embed.fnc
+++ b/ext/Devel-PPPort/parts/embed.fnc
@@ -533,7 +533,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
-p      |int    |magic_clearisa |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
 p      |int    |magic_existspack|NN SV* sv|NN const MAGIC* mg
@@ -568,7 +568,7 @@ p   |int    |magic_setnkeys |NN SV* sv|NN MAGIC* mg
 p      |int    |magic_setpack  |NN SV* sv|NN MAGIC* mg
 p      |int    |magic_setpos   |NN SV* sv|NN MAGIC* mg
 p      |int    |magic_setregexp|NN SV* sv|NN MAGIC* mg
-p      |int    |magic_setsig   |NN SV* sv|NN MAGIC* mg
+p      |int    |magic_setsig   |NULLOK SV* sv|NN MAGIC* mg
 p      |int    |magic_setsubstr|NN SV* sv|NN MAGIC* mg
 p      |int    |magic_settaint |NN SV* sv|NN MAGIC* mg
 p      |int    |magic_setuvar  |NN SV* sv|NN MAGIC* mg
@@ -972,7 +972,6 @@ Apd |CV*    |sv_2cv         |NULLOK SV* sv|NN HV **const 
st|NN GV **const gvp \
 Apd    |IO*    |sv_2io         |NN SV *const sv
 #if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
 s      |bool   |glob_2number   |NN GV* const gv
-s      |char*  |glob_2pv       |NN GV* const gv|NULLOK STRLEN * const len
 #endif
 Amb    |IV     |sv_2iv         |NULLOK SV *sv
 Apd    |IV     |sv_2iv_flags   |NULLOK SV *const sv|const I32 flags
@@ -1278,8 +1277,6 @@ Apr       |void   |newMYSUB       |I32 floor|NULLOK OP 
*o|NULLOK OP *proto|NULLOK OP *attrs|NU
 #endif
 : Used in perly.y
 p      |OP *   |my_attrs       |NN OP *o|NULLOK OP *attrs
-: Only used in perl.c
-p      |void   |boot_core_xsutils
 #if defined(USE_ITHREADS)
 ApR    |PERL_CONTEXT*|cx_dup   |NULLOK PERL_CONTEXT* cx|I32 ix|I32 max|NN 
CLONE_PARAMS* param
 ApR    |PERL_SI*|si_dup        |NULLOK PERL_SI* si|NN CLONE_PARAMS* param
@@ -1293,6 +1290,10 @@ Ap       |PerlIO*|fp_dup         |NULLOK PerlIO *const 
fp|const char type|NN CLONE_PARAMS *co
 ApR    |DIR*   |dirp_dup       |NULLOK DIR *const dp
 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)
+s      |SV **  |sv_dup_inc_multiple|NN SV *const *source|NN SV **dest \
+                               |SSize_t items|NN CLONE_PARAMS *const param
+#endif
 ApR    |SV*    |sv_dup         |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
@@ -1866,7 +1867,7 @@ Apn       |int    |my_socketpair  |int family|int 
type|int protocol|int fd[2]
 Ap     |int    |my_dirfd       |NULLOK DIR* dir
 #ifdef PERL_OLD_COPY_ON_WRITE
 : Used in pp_hot.c and regexec.c
-pMXE   |SV*    |sv_setsv_cow   |NN SV* dstr|NN SV* sstr
+pMXE   |SV*    |sv_setsv_cow   |NULLOK SV* dstr|NN SV* sstr
 #endif
 
 Aop    |const char *|PerlIO_context_layers|NULLOK const char *mode
diff --git a/ext/Devel-PPPort/parts/inc/sprintf 
b/ext/Devel-PPPort/parts/inc/HvNAME
similarity index 50%
copy from ext/Devel-PPPort/parts/inc/sprintf
copy to ext/Devel-PPPort/parts/inc/HvNAME
index 6756f9a..135549d 100644
--- a/ext/Devel-PPPort/parts/inc/sprintf
+++ b/ext/Devel-PPPort/parts/inc/HvNAME
@@ -1,8 +1,8 @@
 
################################################################################
 ##
-##  $Revision: 2 $
+##  $Revision: 1 $
 ##  $Author: mhx $
-##  $Date: 2009/01/18 14:10:51 +0100 $
+##  $Date: 2009/06/12 12:29:57 +0200 $
 ##
 
################################################################################
 ##
@@ -17,46 +17,29 @@
 
 =provides
 
-my_sprintf
+__UNDEFINED__
 
 =implementation
 
-#if !defined(my_sprintf)
-#if { NEED my_sprintf }
+__UNDEFINED__ HvNAME_get(hv) HvNAME(hv)
 
-int
-my_sprintf(char *buffer, const char* pat, ...)
-{
-    va_list args;
-    va_start(args, pat);
-    vsprintf(buffer, pat, args);
-    va_end(args);
-    return strlen(buffer);
-}
+__UNDEFINED__ HvNAMELEN_get(hv) (HvNAME_get(hv) ? (I32)strlen(HvNAME_get(hv)) 
: 0)
 
-#endif
-#endif
+=xsubs
 
-=xsinit
+char*
+HvNAME_get(hv)
+       HV *hv
 
-#define NEED_my_sprintf
+int
+HvNAMELEN_get(hv)
+       HV *hv
 
-=xsubs
+=tests plan => 4
+
+ok(Devel::PPPort::HvNAME_get(\%Devel::PPPort::), 'Devel::PPPort');
+ok(Devel::PPPort::HvNAME_get({}), undef);
 
-void
-my_sprintf()
-       PREINIT:
-               char buf[128];
-               int len;
-       PPCODE:
-               len = my_sprintf(buf, "foo%s%d", "bar", 42);
-               mXPUSHi(len);
-               mXPUSHs(newSVpv(buf, 0));
-               XSRETURN(2);
-
-=tests plan => 2
-
-my($l, $s) = Devel::PPPort::my_sprintf();
-ok($l, 8);
-ok($s, "foobar42");
+ok(Devel::PPPort::HvNAMELEN_get(\%Devel::PPPort::), length('Devel::PPPort'));
+ok(Devel::PPPort::HvNAMELEN_get({}), 0);
 
diff --git a/ext/Devel-PPPort/parts/inc/newRV b/ext/Devel-PPPort/parts/inc/gv
similarity index 50%
copy from ext/Devel-PPPort/parts/inc/newRV
copy to ext/Devel-PPPort/parts/inc/gv
index 1467d1a..1b911e7 100644
--- a/ext/Devel-PPPort/parts/inc/newRV
+++ b/ext/Devel-PPPort/parts/inc/gv
@@ -1,8 +1,8 @@
 
################################################################################
 ##
-##  $Revision: 9 $
+##  $Revision: 1 $
 ##  $Author: mhx $
-##  $Date: 2009/01/18 14:10:55 +0100 $
+##  $Date: 2009/06/12 12:29:56 +0200 $
 ##
 
################################################################################
 ##
@@ -17,58 +17,50 @@
 
 =provides
 
-newRV_inc
-newRV_noinc
+__UNDEFINED__
 
 =implementation
 
-__UNDEFINED__  newRV_inc(sv)  newRV(sv)   /* Replace */
-
-#ifndef newRV_noinc
-#if { NEED newRV_noinc }
-SV *
-newRV_noinc(SV *sv)
-{
-  SV *rv = (SV *)newRV(sv);
-  SvREFCNT_dec(sv);
-  return rv;
-}
-#endif
-#endif
-
-=xsinit
-
-#define NEED_newRV_noinc
+__UNDEFINED__ GvSVn(gv)        GvSV(gv)
+__UNDEFINED__ isGV_with_GP(gv) isGV(gv)
 
 =xsubs
 
-U32
-newRV_inc_REFCNT()
+int
+GvSVn()
        PREINIT:
-               SV *sv, *rv;
+               GV* gv;
        CODE:
-               sv = newSViv(42);
-               rv = newRV_inc(sv);
-               SvREFCNT_dec(sv);
-               RETVAL = SvREFCNT(sv);
-               sv_2mortal(rv);
+               RETVAL = 0;
+               gv = gv_fetchpvs("Devel::PPPort::GvTest", GV_ADDMULTI, 
SVt_PVGV);
+               if (GvSVn(gv) != NULL)
+               {
+                 RETVAL++;
+               }
        OUTPUT:
                RETVAL
 
-U32
-newRV_noinc_REFCNT()
+int
+isGV_with_GP()
        PREINIT:
-               SV *sv, *rv;
+               GV* gv;
        CODE:
-               sv = newSViv(42);
-               rv = newRV_noinc(sv);
-               RETVAL = SvREFCNT(sv);
-               sv_2mortal(rv);
+               RETVAL = 0;
+               gv = gv_fetchpvs("Devel::PPPort::GvTest", GV_ADDMULTI, 
SVt_PVGV);
+               if (isGV_with_GP(gv))
+               {
+                 RETVAL++;
+               }
+               if (!isGV(&PL_sv_undef))
+               {
+                 RETVAL++;
+               }
        OUTPUT:
                RETVAL
 
+
 =tests plan => 2
 
-ok(&Devel::PPPort::newRV_inc_REFCNT, 1);
-ok(&Devel::PPPort::newRV_noinc_REFCNT, 1);
+ok(Devel::PPPort::GvSVn(), 1);
 
+ok(Devel::PPPort::isGV_with_GP(), 2)
diff --git a/ext/Devel-PPPort/parts/inc/misc b/ext/Devel-PPPort/parts/inc/misc
index 9900812..3844bbb 100644
--- a/ext/Devel-PPPort/parts/inc/misc
+++ b/ext/Devel-PPPort/parts/inc/misc
@@ -1,8 +1,8 @@
 
################################################################################
 ##
-##  $Revision: 52 $
+##  $Revision: 53 $
 ##  $Author: mhx $
-##  $Date: 2009/03/15 06:51:00 +0100 $
+##  $Date: 2009/03/31 23:05:55 +0200 $
 ##
 
################################################################################
 ##
@@ -209,6 +209,9 @@ __UNDEFINED__  XSprePUSH       (sp = PL_stack_base + ax - 1)
       } STMT_END
 #endif
 
+__UNDEFINED__  XSPROTO(name)   void name(pTHX_ CV* cv)
+__UNDEFINED__  SVfARG(p)       ((void*)(p))
+
 __UNDEFINED__  PERL_ABS(x)     ((x) < 0 ? -(x) : (x))
 
 __UNDEFINED__  dVAR            dNOOP
@@ -282,6 +285,9 @@ __UNDEFINED__ isXDIGIT(c)   (isDIGIT(c) || ((c) >= 'a' && 
(c) <= 'f') || ((c) >= '
 
 =xsmisc
 
+typedef XSPROTO(XSPROTO_test_t);
+typedef XSPROTO_test_t *XSPROTO_test_t_ptr;
+
 XS(XS_Devel__PPPort_dXSTARG);  /* prototype */
 XS(XS_Devel__PPPort_dXSTARG)
 {
@@ -309,7 +315,10 @@ XS(XS_Devel__PPPort_dAXMARK)
 
 =xsboot
 
-newXS("Devel::PPPort::dXSTARG", XS_Devel__PPPort_dXSTARG, file);
+{
+  XSPROTO_test_t_ptr p = &XS_Devel__PPPort_dXSTARG;
+  newXS("Devel::PPPort::dXSTARG", *p, file);
+}
 newXS("Devel::PPPort::dAXMARK", XS_Devel__PPPort_dAXMARK, file);
 
 =xsubs
@@ -454,7 +463,7 @@ SVf(x)
        SV *x
        PPCODE:
 #if { VERSION >= 5.004 }
-               x = sv_2mortal(newSVpvf("[%"SVf"]", x));
+               x = sv_2mortal(newSVpvf("[%"SVf"]", SVfARG(x)));
 #endif
                XPUSHs(x);
                XSRETURN(1);
diff --git a/ext/Devel-PPPort/parts/inc/newSV_type 
b/ext/Devel-PPPort/parts/inc/newSV_type
new file mode 100644
index 0000000..06ebdb4
--- /dev/null
+++ b/ext/Devel-PPPort/parts/inc/newSV_type
@@ -0,0 +1,86 @@
+################################################################################
+##
+##  $Revision: 1 $
+##  $Author: mhx $
+##  $Date: 2009/06/12 12:29:57 +0200 $
+##
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2009, 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
+
+newSV_type
+
+=implementation
+
+#ifndef newSV_type
+
+#if { NEED newSV_type }
+
+SV*
+newSV_type(pTHX_ svtype const t)
+{
+  SV* const sv = newSV(0);
+  sv_upgrade(sv, t);
+  return sv;
+}
+
+#endif
+
+#endif
+
+=xsinit
+
+#define NEED_newSV_type
+
+=xsubs
+
+int
+newSV_type()
+       PREINIT:
+               SV* sv;
+       CODE:
+               RETVAL = 0;
+               sv = newSV_type(SVt_NULL);
+               if (SvTYPE(sv) == SVt_NULL)
+               {
+                 RETVAL++;
+               }
+               SvREFCNT_dec(sv);
+
+               sv = newSV_type(SVt_PVIV);
+               if (SvTYPE(sv) == SVt_PVIV)
+               {
+                 RETVAL++;
+               }
+               SvREFCNT_dec(sv);
+
+               sv = newSV_type(SVt_PVHV);
+               if (SvTYPE(sv) == SVt_PVHV)
+               {
+                 RETVAL++;
+               }
+               SvREFCNT_dec(sv);
+
+               sv = newSV_type(SVt_PVAV);
+               if (SvTYPE(sv) == SVt_PVAV)
+               {
+                 RETVAL++;
+               }
+               SvREFCNT_dec(sv);
+       OUTPUT:
+               RETVAL
+
+
+=tests plan => 1
+
+ok(Devel::PPPort::newSV_type(), 4);
+
diff --git a/ext/Devel-PPPort/parts/inc/pvs b/ext/Devel-PPPort/parts/inc/pvs
index 73bc9fb..71485ad 100644
--- a/ext/Devel-PPPort/parts/inc/pvs
+++ b/ext/Devel-PPPort/parts/inc/pvs
@@ -1,8 +1,8 @@
 
################################################################################
 ##
-##  $Revision: 9 $
+##  $Revision: 11 $
 ##  $Author: mhx $
-##  $Date: 2009/01/18 14:10:52 +0100 $
+##  $Date: 2009/06/12 12:19:15 +0200 $
 ##
 
################################################################################
 ##
@@ -35,6 +35,10 @@ __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)
+
 =xsubs
 
 void
@@ -78,7 +82,29 @@ hv_stores(hv, sv)
        PPCODE:
                (void) hv_stores((HV *) SvRV(hv), "hv_stores", 
SvREFCNT_inc_simple(sv));
 
-=tests plan => 8
+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));
+       OUTPUT:
+               RETVAL
+
+SV*
+gv_stashpvs()
+       CODE:
+               RETVAL = newRV_inc((SV*)gv_stashpvs("Devel::PPPort", 0));
+       OUTPUT:
+               RETVAL
+
+
+=tests plan => 11
 
 my $x = 'foo';
 
@@ -97,3 +123,6 @@ 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::);
diff --git a/ext/Devel-PPPort/parts/inc/variables 
b/ext/Devel-PPPort/parts/inc/variables
index 3058412..515e620 100644
--- a/ext/Devel-PPPort/parts/inc/variables
+++ b/ext/Devel-PPPort/parts/inc/variables
@@ -1,8 +1,8 @@
 
################################################################################
 ##
-##  $Revision: 19 $
+##  $Revision: 20 $
 ##  $Author: mhx $
-##  $Date: 2009/01/18 14:10:53 +0100 $
+##  $Date: 2009/06/12 04:10:50 +0200 $
 ##
 
################################################################################
 ##
@@ -36,9 +36,12 @@ PL_diehook
 PL_dirty
 PL_dowarn
 PL_errgv
+PL_error_count
 PL_expect
 PL_hexdigit
 PL_hints
+PL_in_my
+PL_in_my_stash
 PL_laststatval
 PL_lex_state
 PL_lex_stuff
@@ -112,9 +115,11 @@ __NEED_VAR__ U32 PL_signals = D_PPP_PERL_SIGNALS_INIT;
 #  define PL_dirty                  dirty
 #  define PL_dowarn                 dowarn
 #  define PL_errgv                  errgv
+#  define PL_error_count            error_count
 #  define PL_expect                 expect
 #  define PL_hexdigit               hexdigit
 #  define PL_hints                  hints
+#  define PL_in_my                  in_my
 #  define PL_laststatval            laststatval
 #  define PL_lex_state              lex_state
 #  define PL_lex_stuff              lex_stuff
@@ -190,6 +195,10 @@ __NEED_DUMMY_VAR__ yy_parser PL_parser;
 # define PL_lex_state      D_PPP_my_PL_parser_var(lex_state)
 # define PL_lex_stuff      D_PPP_my_PL_parser_var(lex_stuff)
 # define PL_tokenbuf       D_PPP_my_PL_parser_var(tokenbuf)
+# define PL_in_my          D_PPP_my_PL_parser_var(in_my)
+# define PL_in_my_stash    D_PPP_my_PL_parser_var(in_my_stash)
+# define PL_error_count    D_PPP_my_PL_parser_var(error_count)
+
 
 #else
 
@@ -229,6 +238,11 @@ int dummy_parser_warning(void);
                                     count++;                     \
                                   } STMT_END
 
+#define ppp_PARSERVAR_dummy       STMT_START {                   \
+                                    mXPUSHi(1);                  \
+                                    count++;                     \
+                                  } STMT_END
+
 #if { VERSION < 5.004 }
 # define ppp_rsfp_t FILE *
 #else
@@ -249,6 +263,20 @@ int dummy_parser_warning(void);
 # define ppp_lex_state_t U8
 #endif
 
+#if { VERSION < 5.6.0 }
+# define ppp_in_my_t bool
+#elif { VERSION < 5.9.5 }
+# define ppp_in_my_t I32
+#else
+# define ppp_in_my_t U16
+#endif
+
+#if { VERSION < 5.9.5 }
+# define ppp_error_count_t I32
+#else
+# define ppp_error_count_t U8
+#endif
+
 =xsubs
 
 int
@@ -379,7 +407,13 @@ other_variables()
                ppp_PARSERVAR(char *, PL_bufend);
                ppp_PARSERVAR(ppp_lex_state_t, PL_lex_state);
                ppp_PARSERVAR(SV *, PL_lex_stuff);
-
+               ppp_PARSERVAR(ppp_error_count_t, PL_error_count);
+               ppp_PARSERVAR(ppp_in_my_t, PL_in_my);
+#if { VERSION >= 5.5.0 }
+               ppp_PARSERVAR(HV*, PL_in_my_stash);
+#else
+               ppp_PARSERVAR_dummy;
+#endif
                XSRETURN(count);
 
 int
@@ -389,7 +423,7 @@ no_dummy_parser_vars(check)
 int
 dummy_parser_warning()
 
-=tests plan => 49
+=tests plan => 52
 
 ok(Devel::PPPort::compare_PL_signals());
 
diff --git a/ext/Devel-PPPort/parts/todo/5006000 
b/ext/Devel-PPPort/parts/todo/5006000
index 86f24e2..4e4f83e 100644
--- a/ext/Devel-PPPort/parts/todo/5006000
+++ b/ext/Devel-PPPort/parts/todo/5006000
@@ -1,4 +1,5 @@
 5.006000
+PERL_SYS_INIT3                 # U
 SvIOK_UV                       # U
 SvIOK_notUV                    # U
 SvIOK_only_UV                  # U
diff --git a/ext/Devel-PPPort/parts/todo/5009002 
b/ext/Devel-PPPort/parts/todo/5009002
index c6d8a1e..d00dcda 100644
--- a/ext/Devel-PPPort/parts/todo/5009002
+++ b/ext/Devel-PPPort/parts/todo/5009002
@@ -1,7 +1,6 @@
 5.009002
 SvPVbyte_force                 # U
 find_rundefsvoffset            # U
-gv_fetchpvn_flags              # U
 gv_fetchsv                     # U
 op_refcnt_lock                 # U
 op_refcnt_unlock               # U
diff --git a/ext/Devel-PPPort/parts/todo/5009003 
b/ext/Devel-PPPort/parts/todo/5009003
index 7be9e07..6a69c9f 100644
--- a/ext/Devel-PPPort/parts/todo/5009003
+++ b/ext/Devel-PPPort/parts/todo/5009003
@@ -6,7 +6,6 @@ csighandler                    # E (Perl_csighandler)
 dMULTICALL                     # E
 doref                          # U
 gv_const_sv                    # U
-gv_stashpvs                    # U
 hv_eiter_p                     # U
 hv_eiter_set                   # U
 hv_name_set                    # U
diff --git a/ext/Devel-PPPort/parts/todo/5009005 
b/ext/Devel-PPPort/parts/todo/5009005
index cf90cd8..8b84717 100644
--- a/ext/Devel-PPPort/parts/todo/5009005
+++ b/ext/Devel-PPPort/parts/todo/5009005
@@ -9,7 +9,6 @@ gv_fetchfile_flags             # U
 mro_get_linear_isa             # U
 mro_method_changed_in          # U
 my_dirfd                       # U
-newSV_type                     # U
 pregcomp                       # E (Perl_pregcomp)
 ptr_table_clear                # U
 ptr_table_fetch                # U
diff --git a/ext/Devel-PPPort/parts/todo/5011000 
b/ext/Devel-PPPort/parts/todo/5011000
index 0676f22..f58fa28 100644
--- a/ext/Devel-PPPort/parts/todo/5011000
+++ b/ext/Devel-PPPort/parts/todo/5011000
@@ -1,6 +1,7 @@
 5.011000
 HeUTF8                         # U
 MULTICALL                      # E
+PERL_SYS_TERM                  # E
 POP_MULTICALL                  # E
 PUSH_MULTICALL                 # E
 SvOOK_offset                   # U
diff --git a/ext/Devel-PPPort/soak b/ext/Devel-PPPort/soak
index 8473ded..1e98070 100644
--- a/ext/Devel-PPPort/soak
+++ b/ext/Devel-PPPort/soak
@@ -33,7 +33,7 @@ use File::Find;
 use List::Util qw(max);
 use Config;
 
-my $VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.18 $' =~ 
/(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' };
+my $VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.19 $' =~ 
/(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' };
 
 $| = 1;
 my %OPT = (
diff --git a/ext/Devel-PPPort/t/limits.t b/ext/Devel-PPPort/t/HvNAME.t
similarity index 79%
copy from ext/Devel-PPPort/t/limits.t
copy to ext/Devel-PPPort/t/HvNAME.t
index ed1cb2e..f54fac2 100644
--- a/ext/Devel-PPPort/t/limits.t
+++ b/ext/Devel-PPPort/t/HvNAME.t
@@ -2,7 +2,7 @@
 #
 #            !!!!!   Do NOT edit this file directly!   !!!!!
 #
-#            Edit mktests.PL and/or parts/inc/limits instead.
+#            Edit mktests.PL and/or parts/inc/HvNAME 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
@@ -48,8 +48,9 @@ bootstrap Devel::PPPort;
 
 package main;
 
-ok(&Devel::PPPort::iv_size());
-ok(&Devel::PPPort::uv_size());
-ok(&Devel::PPPort::iv_type());
-ok(&Devel::PPPort::uv_type());
+ok(Devel::PPPort::HvNAME_get(\%Devel::PPPort::), 'Devel::PPPort');
+ok(Devel::PPPort::HvNAME_get({}), undef);
+
+ok(Devel::PPPort::HvNAMELEN_get(\%Devel::PPPort::), length('Devel::PPPort'));
+ok(Devel::PPPort::HvNAMELEN_get({}), 0);
 
diff --git a/ext/Devel-PPPort/t/sprintf.t b/ext/Devel-PPPort/t/gv.t
similarity index 89%
copy from ext/Devel-PPPort/t/sprintf.t
copy to ext/Devel-PPPort/t/gv.t
index 8b0d51f..3bf9ce6 100644
--- a/ext/Devel-PPPort/t/sprintf.t
+++ b/ext/Devel-PPPort/t/gv.t
@@ -2,7 +2,7 @@
 #
 #            !!!!!   Do NOT edit this file directly!   !!!!!
 #
-#            Edit mktests.PL and/or parts/inc/sprintf instead.
+#            Edit mktests.PL and/or parts/inc/gv 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
@@ -48,7 +48,7 @@ bootstrap Devel::PPPort;
 
 package main;
 
-my($l, $s) = Devel::PPPort::my_sprintf();
-ok($l, 8);
-ok($s, "foobar42");
+ok(Devel::PPPort::GvSVn(), 1);
+
+ok(Devel::PPPort::isGV_with_GP(), 2)
 
diff --git a/ext/Devel-PPPort/t/memory.t b/ext/Devel-PPPort/t/newSV_type.t
similarity index 91%
copy from ext/Devel-PPPort/t/memory.t
copy to ext/Devel-PPPort/t/newSV_type.t
index 501b819..1b3233e 100644
--- a/ext/Devel-PPPort/t/memory.t
+++ b/ext/Devel-PPPort/t/newSV_type.t
@@ -2,7 +2,7 @@
 #
 #            !!!!!   Do NOT edit this file directly!   !!!!!
 #
-#            Edit mktests.PL and/or parts/inc/memory instead.
+#            Edit mktests.PL and/or parts/inc/newSV_type 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
@@ -48,5 +48,5 @@ bootstrap Devel::PPPort;
 
 package main;
 
-ok(Devel::PPPort::checkmem(), 4);
+ok(Devel::PPPort::newSV_type(), 4);
 
diff --git a/ext/Devel-PPPort/t/pvs.t b/ext/Devel-PPPort/t/pvs.t
index 4a85e49..7886096 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 (8) {
+  if (11) {
     load();
-    plan(tests => 8);
+    plan(tests => 11);
   }
 }
 
@@ -65,4 +65,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::);
 
diff --git a/ext/Devel-PPPort/t/variables.t b/ext/Devel-PPPort/t/variables.t
index da7b99d..ef1ac8b 100644
--- a/ext/Devel-PPPort/t/variables.t
+++ b/ext/Devel-PPPort/t/variables.t
@@ -30,9 +30,9 @@ BEGIN {
     require 'testutil.pl' if $@;
   }
 
-  if (49) {
+  if (52) {
     load();
-    plan(tests => 49);
+    plan(tests => 52);
   }
 }
 
diff --git a/ext/Devel-PPPort/typemap b/ext/Devel-PPPort/typemap
index f2118a8..7225c40 100644
--- a/ext/Devel-PPPort/typemap
+++ b/ext/Devel-PPPort/typemap
@@ -4,9 +4,9 @@
 #
 
################################################################################
 #
-#  $Revision: 8 $
+#  $Revision: 9 $
 #  $Author: mhx $
-#  $Date: 2009/01/18 14:10:48 +0100 $
+#  $Date: 2009/06/12 04:07:19 +0200 $
 #
 
################################################################################
 #
@@ -21,12 +21,18 @@
 
 UV                     T_UV
 NV                      T_NV
+HV *                   T_HVREF
 
 INPUT
 T_UV
        $var = ($type)SvUV($arg)
 T_NV
        $var = ($type)SvNV($arg)
+T_HVREF
+       if (SvROK($arg) && SvTYPE(SvRV($arg))==SVt_PVHV)
+           $var = (HV*)SvRV($arg);
+       else
+           Perl_croak(aTHX_ \"$var is not a hash reference\")
 
 OUTPUT
 T_UV
diff --git a/pod/perlfunc.pod b/pod/perlfunc.pod
index eebc4eb..405d2b5 100644
--- a/pod/perlfunc.pod
+++ b/pod/perlfunc.pod
@@ -4340,8 +4340,8 @@ steps to ensure that C<readline> was successful.
     for (;;) {
         undef $!;
         unless (defined( $line = <> )) {
+            last if eof;
             die $! if $!;
-            last; # reached EOF
         }
         # ...
     }

--
Perl5 Master Repository

Reply via email to