This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
put signature ops in their own subtree.
[perl5.git] / ext / XS-APItest / APItest.pm
index 929bf49..fdf5b85 100644 (file)
@@ -1,11 +1,11 @@
 package XS::APItest;
 
-{ use 5.011001; }
+{ use 5.011001; } # 5.11 is a long long time ago... What gives with this?
 use strict;
 use warnings;
 use Carp;
 
-our $VERSION = '0.41';
+our $VERSION = '1.04';
 
 require XSLoader;
 
@@ -40,7 +40,7 @@ sub import {
        }
     }
     foreach (keys %{$exports||{}}) {
-       next unless /\A(?:rpn|calcrpn|stufftest|swaptwostmts|looprest|scopelessblock|stmtasexpr|stmtsasexpr|loopblock|blockasexpr|swaplabel|labelconst|arrayfullexpr|arraylistexpr|arraytermexpr|arrayarithexpr|arrayexprflags)\z/;
+       next unless /\A(?:rpn|calcrpn|stufftest|swaptwostmts|looprest|scopelessblock|stmtasexpr|stmtsasexpr|loopblock|blockasexpr|swaplabel|labelconst|arrayfullexpr|arraylistexpr|arraytermexpr|arrayarithexpr|arrayexprflags|subsignature|DEFSV|with_vars|join_with_space)\z/;
        $^H{"XS::APItest/$_"} = 1;
        delete $exports->{$_};
     }
@@ -222,12 +222,14 @@ what it might be medifying).
 =item B<call_sv>, B<call_pv>, B<call_method>
 
 These exercise the C calls of the same names. Everything after the flags
-arg is passed as the the args to the called function. They return whatever
+arg is passed as the args to the called function. They return whatever
 the C function itself pushed onto the stack, plus the return value from
 the function; for example
 
-    call_sv( sub { @_, 'c' }, G_ARRAY,  'a', 'b'); # returns 'a', 'b', 'c', 3
-    call_sv( sub { @_ },      G_SCALAR, 'a', 'b'); # returns 'b', 1
+    call_sv( sub { @_, 'c' }, G_ARRAY,  'a', 'b');
+    # returns 'a', 'b', 'c', 3
+    call_sv( sub { @_ },      G_SCALAR, 'a', 'b');
+    # returns 'b', 1
 
 =item B<eval_sv>
 
@@ -252,6 +254,10 @@ They are lexically scoped.
 
 =over
 
+=item DEFSV
+
+Behaves like C<$_>.
+
 =item rpn(EXPRESSION)
 
 This construct is a Perl expression.  I<EXPRESSION> must be an RPN