This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Document newSUB, newATTRSUB
authorKarl Williamson <khw@cpan.org>
Thu, 27 Aug 2020 15:27:28 +0000 (09:27 -0600)
committerKarl Williamson <khw@cpan.org>
Wed, 7 Oct 2020 02:08:36 +0000 (20:08 -0600)
embed.fnc
op.c

index 9f3a368..beec79d 100644 (file)
--- a/embed.fnc
+++ b/embed.fnc
@@ -1433,7 +1433,7 @@ Ap        |void   |newPROG        |NN OP* o
 ApdR   |OP*    |newRANGE       |I32 flags|NN OP* left|NN OP* right
 ApdR   |OP*    |newSLICEOP     |I32 flags|NULLOK OP* subscript|NULLOK OP* listop
 ApdR   |OP*    |newSTATEOP     |I32 flags|NULLOK char* label|NULLOK OP* o
-ApbM   |CV*    |newSUB         |I32 floor|NULLOK OP* o|NULLOK OP* proto \
+AdpbM  |CV*    |newSUB         |I32 floor|NULLOK OP* o|NULLOK OP* proto \
                                |NULLOK OP* block
 pd     |CV *   |newXS_len_flags|NULLOK const char *name|STRLEN len \
                                |NN XSUBADDR_t subaddr\
@@ -2722,7 +2722,7 @@ AiTp      |void   |SvAMAGIC_off   |NN SV *sv
 : This is indirectly referenced by globals.c. This is somewhat annoying.
 p      |int    |magic_killbackrefs|NN SV *sv|NN MAGIC *mg
 Ap     |OP*    |newANONATTRSUB |I32 floor|NULLOK OP *proto|NULLOK OP *attrs|NULLOK OP *block
-A    |CV*    |newATTRSUB     |I32 floor|NULLOK OP *o|NULLOK OP *proto|NULLOK OP *attrs|NULLOK OP *block
+Adm    |CV*    |newATTRSUB     |I32 floor|NULLOK OP *o|NULLOK OP *proto|NULLOK OP *attrs|NULLOK OP *block
 pdX    |CV*    |newATTRSUB_x   |I32 floor|NULLOK OP *o|NULLOK OP *proto \
                                 |NULLOK OP *attrs|NULLOK OP *block \
                                 |bool o_is_gv
diff --git a/op.c b/op.c
index ec21a6c..c30c6b7 100644 (file)
--- a/op.c
+++ b/op.c
@@ -11191,6 +11191,17 @@ time this function returns, making it erroneous for the caller to make
 any use of the returned pointer.  It is the caller's responsibility to
 ensure that it knows which of these situations applies.
 
+=for apidoc newATTRSUB
+Construct a Perl subroutine, also performing some surrounding jobs.
+
+This is the same as L<perlintern/C<newATTRSUB_x>> with its C<o_is_gv> parameter set to
+FALSE.  This means that if C<o> is null, the new sub will be anonymous; otherwise
+the name will be derived from C<o> in the way described (as with all other
+details) in L<perlintern/C<newATTRSUB_x>>.
+
+=for apidoc newSUB
+Like C<L</newATTRSUB>>, but without attributes.
+
 =cut
 */