summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Williamson <khw@cpan.org>2019-08-31 11:05:11 -0600
committerKarl Williamson <khw@cpan.org>2019-09-02 21:52:11 -0600
commit6a6f871761fc632a566755be1f4a443056e7ada0 (patch)
treef2ba62a783aa8c0df9e11d672f4a9ce247940c03
parent0f292d69545400e5ddf04c00b329d402cb82f908 (diff)
downloadperl-6a6f871761fc632a566755be1f4a443056e7ada0.tar.gz
Note that mro[gs]et_private_data are documented
-rw-r--r--autodoc.pl1
-rw-r--r--embed.fnc4
-rw-r--r--mro_core.c4
-rw-r--r--pod/perlmroapi.pod4
4 files changed, 10 insertions, 3 deletions
diff --git a/autodoc.pl b/autodoc.pl
index 590053f988..efd5e25fbe 100644
--- a/autodoc.pl
+++ b/autodoc.pl
@@ -43,6 +43,7 @@ my @specialized_docs = sort qw( perlguts
perlapio
perlcall
perlfilter
+ perlmroapi
);
my $other_places_api = join " ", map { "L<$_>" } sort @specialized_docs, 'perlintern';
my $other_places_intern = join " ", map { "L<$_>" } sort @specialized_docs, 'perlapi';
diff --git a/embed.fnc b/embed.fnc
index 739283a329..7c3e88ebf8 100644
--- a/embed.fnc
+++ b/embed.fnc
@@ -3265,9 +3265,9 @@ XExop |void |emulate_cop_io |NN const COP *const c|NN SV *const sv
: Used by SvRX and SvRXOK
XExop |REGEXP *|get_re_arg|NULLOK SV *sv
-Aop |SV* |mro_get_private_data|NN struct mro_meta *const smeta \
+Aopdh |SV* |mro_get_private_data|NN struct mro_meta *const smeta \
|NN const struct mro_alg *const which
-Aop |SV* |mro_set_private_data|NN struct mro_meta *const smeta \
+Aopdh |SV* |mro_set_private_data|NN struct mro_meta *const smeta \
|NN const struct mro_alg *const which \
|NN SV *const data
Aop |const struct mro_alg *|mro_get_from_name|NN SV *name
diff --git a/mro_core.c b/mro_core.c
index c22e3373f1..ffcbba60a6 100644
--- a/mro_core.c
+++ b/mro_core.c
@@ -21,6 +21,7 @@
/*
=head1 MRO Functions
These functions are related to the method resolution order of perl classes
+Also see L<perlmroapi>.
=cut
*/
@@ -118,7 +119,8 @@ Perl_mro_get_from_name(pTHX_ SV *name) {
/*
=for apidoc mro_register
-Registers a custom mro plugin. See L<perlmroapi> for details.
+Registers a custom mro plugin. See L<perlmroapi> for details on this and other
+mro functions.
=cut
*/
diff --git a/pod/perlmroapi.pod b/pod/perlmroapi.pod
index 4d19cdab5f..c585441fc9 100644
--- a/pod/perlmroapi.pod
+++ b/pod/perlmroapi.pod
@@ -79,10 +79,14 @@ stash, and a pointer to your C<mro_alg> structure:
meta = HvMROMETA(stash);
private_sv = MRO_GET_PRIVATE_DATA(meta, &my_mro_alg);
+=for apidoc mro_get_private_data
+
To set your private value, call C<Perl_mro_set_private_data()>:
Perl_mro_set_private_data(aTHX_ meta, &c3_alg, private_sv);
+=for apidoc mro_set_private_data
+
The private data cache will take ownership of a reference to private_sv,
much the same way that C<hv_store()> takes ownership of a reference to the
value that you pass it.