summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Williamson <khw@cpan.org>2022-05-19 12:13:22 -0600
committerKarl Williamson <khw@cpan.org>2022-05-20 14:59:39 -0600
commit8871d594618331758886dd6263c0ac25616e9ba3 (patch)
tree1691af08380140be678353a880adc257af3675e8
parentee85153c5be6c687c46b7b967ecb852c44341f03 (diff)
downloadperl-8871d594618331758886dd6263c0ac25616e9ba3.tar.gz
perlapi: Document do_join
-rw-r--r--doop.c22
-rw-r--r--embed.fnc4
2 files changed, 24 insertions, 2 deletions
diff --git a/doop.c b/doop.c
index 025d1d8086..37d7ea4d17 100644
--- a/doop.c
+++ b/doop.c
@@ -635,6 +635,28 @@ Perl_do_trans(pTHX_ SV *sv)
}
}
+/*
+=for apidoc_section $string
+=for apidoc do_join
+
+This performs a Perl L<C<join>|perlfunc/join>, placing the joined output
+into C<sv>.
+
+The elements to join are in SVs, stored in a C array of pointers to SVs, from
+C<**mark> to S<C<**sp - 1>>. Hence C<*mark> is a reference to the first SV.
+Each SV will be coerced into a PV if not one already.
+
+C<delim> contains the string (or coerced into a string) that is to separate
+each of the joined elements.
+
+If any component is in UTF-8, the result will be as well, and all non-UTF-8
+components will be converted to UTF-8 as necessary.
+
+Magic and tainting are handled.
+
+=cut
+*/
+
void
Perl_do_join(pTHX_ SV *sv, SV *delim, SV **mark, SV **sp)
{
diff --git a/embed.fnc b/embed.fnc
index 7b03dc5bfc..a5f609356a 100644
--- a/embed.fnc
+++ b/embed.fnc
@@ -821,12 +821,12 @@ p |I32 |do_semop |NN SV** mark|NN SV** sp
: Defined in doio.c, used only in pp_sys.c
p |I32 |do_shmio |I32 optype|NN SV** mark|NN SV** sp
#endif
-Ap |void |do_join |NN SV *sv|NN SV *delim|NN SV **mark|NN SV **sp
+Apd |void |do_join |NN SV *sv|NN SV *delim|NN SV **mark|NN SV **sp
: Used in pp.c and pp_hot.c, prototype generated by regen/opcode.pl
: p |OP* |do_kv
: used in pp.c, pp_hot.c
pR |I32 |do_ncmp |NN SV *const left|NN SV *const right
-ApMb |bool |do_open |NN GV* gv|NN const char* name|I32 len|int as_raw \
+ApdMb |bool |do_open |NN GV* gv|NN const char* name|I32 len|int as_raw \
|int rawmode|int rawperm|NULLOK PerlIO* supplied_fp
AbpD |bool |do_open9 |NN GV *gv|NN const char *name|I32 len|int as_raw \
|int rawmode|int rawperm|NULLOK PerlIO *supplied_fp \