summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--XSUB.h8
-rw-r--r--cop.h6
-rw-r--r--gv.c8
-rw-r--r--handy.h8
-rw-r--r--hv.c15
-rw-r--r--hv.h4
-rw-r--r--intrpvar.h10
-rw-r--r--mathoms.c6
-rw-r--r--mg.c16
-rw-r--r--op.c2
-rw-r--r--op.h12
-rw-r--r--pad.c2
-rw-r--r--pp.h84
-rw-r--r--scope.h8
-rw-r--r--sv.c59
-rw-r--r--sv.h46
-rw-r--r--t/porting/known_pod_issues.dat2
17 files changed, 153 insertions, 143 deletions
diff --git a/XSUB.h b/XSUB.h
index 49c15f744e..5aa6169403 100644
--- a/XSUB.h
+++ b/XSUB.h
@@ -18,7 +18,8 @@
=for apidoc Amn|char*|CLASS
Variable which is setup by C<xsubpp> to indicate the
-class name for a C++ XS constructor. This is always a C<char*>. See C<THIS>.
+class name for a C++ XS constructor. This is always a C<char*>. See
+C<L</THIS>>.
=for apidoc Amn|(whatever)|RETVAL
Variable which is setup by C<xsubpp> to hold the return value for an
@@ -27,7 +28,7 @@ L<perlxs/"The RETVAL Variable">.
=for apidoc Amn|(whatever)|THIS
Variable which is setup by C<xsubpp> to designate the object in a C++
-XSUB. This is always the proper type for the C++ object. See C<CLASS> and
+XSUB. This is always the proper type for the C++ object. See C<L</CLASS>> and
L<perlxs/"Using XS With C++">.
=for apidoc Amn|I32|ax
@@ -281,7 +282,8 @@ the subs.
=for apidoc AmU||XS_VERSION
The version identifier for an XS module. This is usually
-handled automatically by C<ExtUtils::MakeMaker>. See C<XS_VERSION_BOOTCHECK>.
+handled automatically by C<ExtUtils::MakeMaker>. See
+C<L</XS_VERSION_BOOTCHECK>>.
=for apidoc Ams||XS_VERSION_BOOTCHECK
Macro to verify that a PM module's $VERSION variable matches the XS
diff --git a/cop.h b/cop.h
index 70e7817fa1..aae9cea77e 100644
--- a/cop.h
+++ b/cop.h
@@ -1018,15 +1018,15 @@ struct context {
/*
=for apidoc AmU||G_SCALAR
-Used to indicate scalar context. See C<GIMME_V>, C<GIMME>, and
+Used to indicate scalar context. See C<L</GIMME_V>>, C<L</GIMME>>, and
L<perlcall>.
=for apidoc AmU||G_ARRAY
-Used to indicate list context. See C<GIMME_V>, C<GIMME> and
+Used to indicate list context. See C<L</GIMME_V>>, C<L</GIMME>> and
L<perlcall>.
=for apidoc AmU||G_VOID
-Used to indicate void context. See C<GIMME_V> and L<perlcall>.
+Used to indicate void context. See C<L</GIMME_V>> and L<perlcall>.
=for apidoc AmU||G_DISCARD
Indicates that arguments returned from a callback should be discarded. See
diff --git a/gv.c b/gv.c
index 5ffc7fe783..5b7d9e1caa 100644
--- a/gv.c
+++ b/gv.c
@@ -1438,7 +1438,7 @@ cached. Implements both C<gv_stashpvn> and C<gc_stashsv>.
Requires one of either namesv or namepv to be non-null.
-See C<gv_stashpvn> for details on "flags".
+See C<L</gv_stashpvn>> for details on "flags".
Note the sv interface is strongly preferred for performance reasons.
@@ -1494,9 +1494,11 @@ Perl_gv_stashpvn(pTHX_ const char *name, U32 namelen, I32 flags)
/*
=for apidoc gv_stashsv
-Returns a pointer to the stash for a specified package. See C<gv_stashpvn>.
+Returns a pointer to the stash for a specified package. See
+C<L</gv_stashpvn>>.
-Note this interface is strongly preferred over C<gv_stashpvn> for performance reasons.
+Note this interface is strongly preferred over C<gv_stashpvn> for performance
+reasons.
=cut
*/
diff --git a/handy.h b/handy.h
index 248b685d64..ee1687e991 100644
--- a/handy.h
+++ b/handy.h
@@ -1812,13 +1812,13 @@ there for use in XS modules supporting older perls.
=for apidoc Am|void|Newxc|void* ptr|int nitems|type|cast
The XSUB-writer's interface to the C C<malloc> function, with
-cast. See also C<Newx>.
+cast. See also C<L</Newx>>.
Memory obtained by this should B<ONLY> be freed with L<"Safefree">.
=for apidoc Am|void|Newxz|void* ptr|int nitems|type
The XSUB-writer's interface to the C C<malloc> function. The allocated
-memory is zeroed with C<memzero>. See also C<Newx>.
+memory is zeroed with C<memzero>. See also C<L</Newx>>.
Memory obtained by this should B<ONLY> be freed with L<"Safefree">.
@@ -1841,7 +1841,7 @@ This should B<ONLY> be used on memory obtained using L<"Newx"> and friends.
=for apidoc Am|void|Move|void* src|void* dest|int nitems|type
The XSUB-writer's interface to the C C<memmove> function. The C<src> is the
source, C<dest> is the destination, C<nitems> is the number of items, and
-C<type> is the type. Can do overlapping moves. See also C<Copy>.
+C<type> is the type. Can do overlapping moves. See also C<L</Copy>>.
=for apidoc Am|void *|MoveD|void* src|void* dest|int nitems|type
Like C<Move> but returns dest. Useful
@@ -1851,7 +1851,7 @@ optimise.
=for apidoc Am|void|Copy|void* src|void* dest|int nitems|type
The XSUB-writer's interface to the C C<memcpy> function. The C<src> is the
source, C<dest> is the destination, C<nitems> is the number of items, and
-C<type> is the type. May fail on overlapping copies. See also C<Move>.
+C<type> is the type. May fail on overlapping copies. See also C<L</Move>>.
=for apidoc Am|void *|CopyD|void* src|void* dest|int nitems|type
diff --git a/hv.c b/hv.c
index 469221f592..8bde6b64ba 100644
--- a/hv.c
+++ b/hv.c
@@ -2295,7 +2295,7 @@ hek_eq_pvn_flags(pTHX_ const HEK *hek, const char* pv, const I32 pvlen, const U3
=for apidoc hv_ename_add
Adds a name to a stash's internal list of effective names. See
-C<hv_ename_delete>.
+C<L</hv_ename_delete>>.
This is called when a stash is assigned to a new location in the symbol
table.
@@ -2466,7 +2466,7 @@ hv_iternext is implemented as a macro in hv.h
=for apidoc hv_iternext
-Returns entries from a hash iterator. See C<hv_iterinit>.
+Returns entries from a hash iterator. See C<L</hv_iterinit>>.
You may call C<hv_delete> or C<hv_delete_ent> on the hash entry that the
iterator currently points to, without losing your place or invalidating your
@@ -2478,7 +2478,8 @@ trigger the resource deallocation.
=for apidoc hv_iternext_flags
-Returns entries from a hash iterator. See C<hv_iterinit> and C<hv_iternext>.
+Returns entries from a hash iterator. See C<L</hv_iterinit>> and
+C<L</hv_iternext>>.
The C<flags> value will normally be zero; if HV_ITERNEXT_WANTPLACEHOLDERS is
set the placeholders keys (for restricted hashes) will be returned in addition
to normal keys. By default placeholders are automatically skipped over.
@@ -2644,7 +2645,7 @@ Perl_hv_iternext_flags(pTHX_ HV *hv, I32 flags)
=for apidoc hv_iterkey
Returns the key from the current position of the hash iterator. See
-C<hv_iterinit>.
+C<L</hv_iterinit>>.
=cut
*/
@@ -2672,7 +2673,7 @@ Perl_hv_iterkey(pTHX_ HE *entry, I32 *retlen)
Returns the key as an C<SV*> from the current position of the hash
iterator. The return value will always be a mortal copy of the key. Also
-see C<hv_iterinit>.
+see C<L</hv_iterinit>>.
=cut
*/
@@ -2689,7 +2690,7 @@ Perl_hv_iterkeysv(pTHX_ HE *entry)
=for apidoc hv_iterval
Returns the value from the current position of the hash iterator. See
-C<hv_iterkey>.
+C<L</hv_iterkey>>.
=cut
*/
@@ -2740,7 +2741,7 @@ Now a macro in hv.h
=for apidoc hv_magic
-Adds magic to a hash. See C<sv_magic>.
+Adds magic to a hash. See C<L</sv_magic>>.
=cut
*/
diff --git a/hv.h b/hv.h
index 9533af58f2..c6cc0fa45a 100644
--- a/hv.h
+++ b/hv.h
@@ -153,7 +153,7 @@ Null HV pointer.
=for apidoc Am|char*|HvNAME|HV* stash
Returns the package name of a stash, or NULL if C<stash> isn't a stash.
-See C<SvSTASH>, C<CvSTASH>.
+See C<L</SvSTASH>>, C<L</CvSTASH>>.
=for apidoc Am|STRLEN|HvNAMELEN|HV *stash
Returns the length of the stash's name.
@@ -208,7 +208,7 @@ variable C<PL_na>, though this is rather less efficient than using a local
variable. Remember though, that hash keys in perl are free to contain
embedded nulls, so using C<strlen()> or similar is not a good way to find
the length of hash keys. This is very similar to the C<SvPV()> macro
-described elsewhere in this document. See also C<HeUTF8>.
+described elsewhere in this document. See also C<L</HeUTF8>>.
If you are using C<HePV> to get values to pass to C<newSVpvn()> to create a
new SV, you should consider using C<newSVhek(HeKEY_hek(he))> as it is more
diff --git a/intrpvar.h b/intrpvar.h
index e24ba5174c..f6b68d9f1c 100644
--- a/intrpvar.h
+++ b/intrpvar.h
@@ -133,11 +133,11 @@ PERLVAR(I, comppad, PAD *) /* storage for lexically scoped temporaries */
This is the C<undef> SV. Always refer to this as C<&PL_sv_undef>.
=for apidoc Amn|SV|PL_sv_no
-This is the C<false> SV. See C<PL_sv_yes>. Always refer to this as
+This is the C<false> SV. See C<L</PL_sv_yes>>. Always refer to this as
C<&PL_sv_no>.
=for apidoc Amn|SV|PL_sv_yes
-This is the C<true> SV. See C<PL_sv_no>. Always refer to this as
+This is the C<true> SV. See C<L</PL_sv_no>>. Always refer to this as
C<&PL_sv_yes>.
=cut
@@ -375,19 +375,19 @@ PERLVAR(I, DBline, GV *) /* *DB::line */
When Perl is run in debugging mode, with the B<-d> switch, this GV contains
the SV which holds the name of the sub being debugged. This is the C
variable which corresponds to Perl's $DB::sub variable. See
-C<PL_DBsingle>.
+C<L</PL_DBsingle>>.
=for apidoc mn|SV *|PL_DBsingle
When Perl is run in debugging mode, with the B<-d> switch, this SV is a
boolean which indicates whether subs are being single-stepped.
Single-stepping is automatically turned on after every step. This is the C
variable which corresponds to Perl's $DB::single variable. See
-C<PL_DBsub>.
+C<L</PL_DBsub>>.
=for apidoc mn|SV *|PL_DBtrace
Trace variable used when Perl is run in debugging mode, with the B<-d>
switch. This is the C variable which corresponds to Perl's $DB::trace
-variable. See C<PL_DBsingle>.
+variable. See C<L</PL_DBsingle>>.
=cut
*/
diff --git a/mathoms.c b/mathoms.c
index 7da0068fb2..f48f08868c 100644
--- a/mathoms.c
+++ b/mathoms.c
@@ -123,7 +123,7 @@ Perl_ref(pTHX_ OP *o, I32 type)
Unsets the RV status of the SV, and decrements the reference count of
whatever was being referenced by the RV. This can almost be thought of
as a reversal of C<newSVrv>. This is C<sv_unref_flags> with the C<flag>
-being zero. See C<SvROK_off>.
+being zero. See C<L</SvROK_off>>.
=cut
*/
@@ -258,7 +258,7 @@ Perl_sv_2pvutf8_nolen(pTHX_ SV *sv)
Undo various types of fakery on an SV: if the PV is a shared string, make
a private copy; if we're a ref, stop refing; if we're a glob, downgrade to
-an xpvmg. See also C<sv_force_normal_flags>.
+an xpvmg. See also C<L</sv_force_normal_flags>>.
=cut
*/
@@ -846,7 +846,7 @@ Perl_sv_usepvn_mg(pTHX_ SV *sv, char *ptr, STRLEN len)
Tells an SV to use C<ptr> to find its string value. Implemented by
calling C<sv_usepvn_flags> with C<flags> of 0, hence does not handle 'set'
-magic. See C<sv_usepvn_flags>.
+magic. See C<L</sv_usepvn_flags>>.
=cut
*/
diff --git a/mg.c b/mg.c
index 6ec762829b..0eaab68f5b 100644
--- a/mg.c
+++ b/mg.c
@@ -127,7 +127,7 @@ S_save_magic_flags(pTHX_ I32 mgs_ix, SV *sv, U32 flags)
/*
=for apidoc mg_magical
-Turns on the magical status of an SV. See C<sv_magic>.
+Turns on the magical status of an SV. See C<L</sv_magic>>.
=cut
*/
@@ -160,7 +160,7 @@ Perl_mg_magical(SV *sv)
=for apidoc mg_get
Do magic before a value is retrieved from the SV. The type of SV must
-be >= SVt_PVMG. See C<sv_magic>.
+be >= SVt_PVMG. See C<L</sv_magic>>.
=cut
*/
@@ -245,7 +245,7 @@ Perl_mg_get(pTHX_ SV *sv)
/*
=for apidoc mg_set
-Do magic after a value is assigned to the SV. See C<sv_magic>.
+Do magic after a value is assigned to the SV. See C<L</sv_magic>>.
=cut
*/
@@ -352,7 +352,7 @@ Perl_mg_size(pTHX_ SV *sv)
/*
=for apidoc mg_clear
-Clear something magical that the SV represents. See C<sv_magic>.
+Clear something magical that the SV represents. See C<L</sv_magic>>.
=cut
*/
@@ -403,7 +403,7 @@ S_mg_findext_flags(const SV *sv, int type, const MGVTBL *vtbl, U32 flags)
/*
=for apidoc mg_find
-Finds the magic pointer for type matching the SV. See C<sv_magic>.
+Finds the magic pointer for type matching the SV. See C<L</sv_magic>>.
=cut
*/
@@ -418,7 +418,7 @@ Perl_mg_find(const SV *sv, int type)
=for apidoc mg_findext
Finds the magic pointer of C<type> with the given C<vtbl> for the C<SV>. See
-C<sv_magicext>.
+C<L</sv_magicext>>.
=cut
*/
@@ -447,7 +447,7 @@ Perl_mg_find_mglob(pTHX_ SV *sv)
/*
=for apidoc mg_copy
-Copies the magic from one SV to another. See C<sv_magic>.
+Copies the magic from one SV to another. See C<L</sv_magic>>.
=cut
*/
@@ -553,7 +553,7 @@ S_mg_free_struct(pTHX_ SV *sv, MAGIC *mg)
/*
=for apidoc mg_free
-Free any magic storage used by the SV. See C<sv_magic>.
+Free any magic storage used by the SV. See C<L</sv_magic>>.
=cut
*/
diff --git a/op.c b/op.c
index a08be2efc0..e5116270e1 100644
--- a/op.c
+++ b/op.c
@@ -1263,7 +1263,7 @@ For example:
For lower-level direct manipulation of C<op_sibparent> and C<op_moresib>,
-see C<OpMORESIB_set>, C<OpLASTSIB_set>, C<OpMAYBESIB_set>.
+see C<L</OpMORESIB_set>>, C<L</OpLASTSIB_set>>, C<L</OpMAYBESIB_set>>.
=cut
*/
diff --git a/op.h b/op.h
index 95a2f05ad4..e15f650614 100644
--- a/op.h
+++ b/op.h
@@ -942,19 +942,19 @@ Returns true if o has a sibling
Returns the sibling of o, or NULL if there is no sibling
=for apidoc Am|void|OpMORESIB_set|OP *o|OP *sib
-Sets the sibling of o to the non-zero value sib. See also C<OpLASTSIB_set>
-and C<OpMAYBESIB_set>. For a higher-level interface, see
-C<op_sibling_splice>.
+Sets the sibling of o to the non-zero value sib. See also C<L</OpLASTSIB_set>>
+and C<L</OpMAYBESIB_set>>. For a higher-level interface, see
+C<L</op_sibling_splice>>.
=for apidoc Am|void|OpLASTSIB_set|OP *o|OP *parent
Marks o as having no further siblings. On C<PERL_OP_PARENT> builds, marks
-o as having the specified parent. See also C<OpMORESIB_set> and
+o as having the specified parent. See also C<L</OpMORESIB_set>> and
C<OpMAYBESIB_set>. For a higher-level interface, see
-C<op_sibling_splice>.
+C<L</op_sibling_splice>>.
=for apidoc Am|void|OpMAYBESIB_set|OP *o|OP *sib|OP *parent
Conditionally does C<OpMORESIB_set> or C<OpLASTSIB_set> depending on whether
-sib is non-null. For a higher-level interface, see C<op_sibling_splice>.
+sib is non-null. For a higher-level interface, see C<L</op_sibling_splice>>.
=cut
*/
diff --git a/pad.c b/pad.c
index d8cb5456eb..c01da835a4 100644
--- a/pad.c
+++ b/pad.c
@@ -2784,7 +2784,7 @@ Perl_padnamelist_dup(pTHX_ PADNAMELIST *srcpad, CLONE_PARAMS *param)
Constructs and returns a new pad name. C<s> must be a UTF8 string. Do not
use this for pad names that point to outer lexicals. See
-L</newPADNAMEouter>.
+C<L</newPADNAMEouter>>.
=cut
*/
diff --git a/pp.h b/pp.h
index 190b999cda..2d99a7242d 100644
--- a/pp.h
+++ b/pp.h
@@ -14,36 +14,36 @@
=head1 Stack Manipulation Macros
=for apidoc AmU||SP
-Stack pointer. This is usually handled by C<xsubpp>. See C<dSP> and
+Stack pointer. This is usually handled by C<xsubpp>. See C<L</dSP>> and
C<SPAGAIN>.
=for apidoc AmU||MARK
-Stack marker variable for the XSUB. See C<dMARK>.
+Stack marker variable for the XSUB. See C<L</dMARK>>.
=for apidoc Am|void|PUSHMARK|SP
-Opening bracket for arguments on a callback. See C<PUTBACK> and
+Opening bracket for arguments on a callback. See C<L</PUTBACK>> and
L<perlcall>.
=for apidoc Ams||dSP
Declares a local copy of perl's stack pointer for the XSUB, available via
-the C<SP> macro. See C<SP>.
+the C<SP> macro. See C<L</SP>>.
=for apidoc ms||djSP
Declare Just C<SP>. This is actually identical to C<dSP>, and declares
a local copy of perl's stack pointer, available via the C<SP> macro.
-See C<SP>. (Available for backward source code compatibility with the
-old (Perl 5.005) thread model.)
+See C<L<perlapi/SP>>. (Available for backward source code compatibility with
+the old (Perl 5.005) thread model.)
=for apidoc Ams||dMARK
-Declare a stack marker variable, C<mark>, for the XSUB. See C<MARK> and
-C<dORIGMARK>.
+Declare a stack marker variable, C<mark>, for the XSUB. See C<L</MARK>> and
+C<L</dORIGMARK>>.
=for apidoc Ams||dORIGMARK
-Saves the original stack mark for the XSUB. See C<ORIGMARK>.
+Saves the original stack mark for the XSUB. See C<L</ORIGMARK>>.
=for apidoc AmU||ORIGMARK
-The original stack mark for the XSUB. See C<dORIGMARK>.
+The original stack mark for the XSUB. See C<L</dORIGMARK>>.
=for apidoc Ams||SPAGAIN
Refetch the stack pointer. Used after a callback. See L<perlcall>.
@@ -92,7 +92,7 @@ Refetch the stack pointer. Used after a callback. See L<perlcall>.
/*
=for apidoc Ams||PUTBACK
Closing bracket for XSUB arguments. This is usually handled by C<xsubpp>.
-See C<PUSHMARK> and L<perlcall> for other uses.
+See C<L</PUSHMARK>> and L<perlcall> for other uses.
=for apidoc Amn|SV*|POPs
Pops an SV off the stack.
@@ -162,40 +162,40 @@ onto the stack.
=for apidoc Am|void|PUSHs|SV* sv
Push an SV onto the stack. The stack must have room for this element.
-Does not handle 'set' magic. Does not use C<TARG>. See also C<PUSHmortal>,
-C<XPUSHs> and C<XPUSHmortal>.
+Does not handle 'set' magic. Does not use C<TARG>. See also
+C<L</PUSHmortal>>, C<L</XPUSHs>>, and C<L</XPUSHmortal>>.
=for apidoc Am|void|PUSHp|char* str|STRLEN len
Push a string onto the stack. The stack must have room for this element.
The C<len> indicates the length of the string. Handles 'set' magic. Uses
C<TARG>, so C<dTARGET> or C<dXSTARG> should be called to declare it. Do not
call multiple C<TARG>-oriented macros to return lists from XSUB's - see
-C<mPUSHp> instead. See also C<XPUSHp> and C<mXPUSHp>.
+C<L</mPUSHp>> instead. See also C<L</XPUSHp>> and C<L</mXPUSHp>>.
=for apidoc Am|void|PUSHn|NV nv
Push a double onto the stack. The stack must have room for this element.
Handles 'set' magic. Uses C<TARG>, so C<dTARGET> or C<dXSTARG> should be
called to declare it. Do not call multiple C<TARG>-oriented macros to
-return lists from XSUB's - see C<mPUSHn> instead. See also C<XPUSHn> and
-C<mXPUSHn>.
+return lists from XSUB's - see C<L</mPUSHn>> instead. See also C<L</XPUSHn>>
+and C<L</mXPUSHn>>.
=for apidoc Am|void|PUSHi|IV iv
Push an integer onto the stack. The stack must have room for this element.
Handles 'set' magic. Uses C<TARG>, so C<dTARGET> or C<dXSTARG> should be
called to declare it. Do not call multiple C<TARG>-oriented macros to
-return lists from XSUB's - see C<mPUSHi> instead. See also C<XPUSHi> and
-C<mXPUSHi>.
+return lists from XSUB's - see C<L</mPUSHi>> instead. See also C<L</XPUSHi>>
+and C<L</mXPUSHi>>.
=for apidoc Am|void|PUSHu|UV uv
Push an unsigned integer onto the stack. The stack must have room for this
element. Handles 'set' magic. Uses C<TARG>, so C<dTARGET> or C<dXSTARG>
should be called to declare it. Do not call multiple C<TARG>-oriented
-macros to return lists from XSUB's - see C<mPUSHu> instead. See also
-C<XPUSHu> and C<mXPUSHu>.
+macros to return lists from XSUB's - see C<L</mPUSHu>> instead. See also
+C<L</XPUSHu>> and C<L</mXPUSHu>>.
=for apidoc Am|void|XPUSHs|SV* sv
Push an SV onto the stack, extending the stack if necessary. Does not
-handle 'set' magic. Does not use C<TARG>. See also C<XPUSHmortal>,
+handle 'set' magic. Does not use C<TARG>. See also C<L</XPUSHmortal>>,
C<PUSHs> and C<PUSHmortal>.
=for apidoc Am|void|XPUSHp|char* str|STRLEN len
@@ -203,76 +203,82 @@ Push a string onto the stack, extending the stack if necessary. The C<len>
indicates the length of the string. Handles 'set' magic. Uses C<TARG>, so
C<dTARGET> or C<dXSTARG> should be called to declare it. Do not call
multiple C<TARG>-oriented macros to return lists from XSUB's - see
-C<mXPUSHp> instead. See also C<PUSHp> and C<mPUSHp>.
+C<L</mXPUSHp>> instead. See also C<L</PUSHp>> and C<L</mPUSHp>>.
=for apidoc Am|void|XPUSHn|NV nv
Push a double onto the stack, extending the stack if necessary. Handles
'set' magic. Uses C<TARG>, so C<dTARGET> or C<dXSTARG> should be called to
declare it. Do not call multiple C<TARG>-oriented macros to return lists
-from XSUB's - see C<mXPUSHn> instead. See also C<PUSHn> and C<mPUSHn>.
+from XSUB's - see C<L</mXPUSHn>> instead. See also C<L</PUSHn>> and
+C<L</mPUSHn>>.
=for apidoc Am|void|XPUSHi|IV iv
Push an integer onto the stack, extending the stack if necessary. Handles
'set' magic. Uses C<TARG>, so C<dTARGET> or C<dXSTARG> should be called to
declare it. Do not call multiple C<TARG>-oriented macros to return lists
-from XSUB's - see C<mXPUSHi> instead. See also C<PUSHi> and C<mPUSHi>.
+from XSUB's - see C<L</mXPUSHi>> instead. See also C<L</PUSHi>> and
+C<L</mPUSHi>>.
=for apidoc Am|void|XPUSHu|UV uv
Push an unsigned integer onto the stack, extending the stack if necessary.
Handles 'set' magic. Uses C<TARG>, so C<dTARGET> or C<dXSTARG> should be
called to declare it. Do not call multiple C<TARG>-oriented macros to
-return lists from XSUB's - see C<mXPUSHu> instead. See also C<PUSHu> and
-C<mPUSHu>.
+return lists from XSUB's - see C<L</mXPUSHu>> instead. See also C<L</PUSHu>> and
+C<L</mPUSHu>>.
=for apidoc Am|void|mPUSHs|SV* sv
Push an SV onto the stack and mortalizes the SV. The stack must have room
-for this element. Does not use C<TARG>. See also C<PUSHs> and C<mXPUSHs>.
+for this element. Does not use C<TARG>. See also C<L</PUSHs>> and
+C<L</mXPUSHs>>.
=for apidoc Am|void|PUSHmortal
Push a new mortal SV onto the stack. The stack must have room for this
-element. Does not use C<TARG>. See also C<PUSHs>, C<XPUSHmortal> and C<XPUSHs>.
+element. Does not use C<TARG>. See also C<L</PUSHs>>, C<L</XPUSHmortal>> and
+C<L</XPUSHs>>.
=for apidoc Am|void|mPUSHp|char* str|STRLEN len
Push a string onto the stack. The stack must have room for this element.
The C<len> indicates the length of the string. Does not use C<TARG>.
-See also C<PUSHp>, C<mXPUSHp> and C<XPUSHp>.
+See also C<L</PUSHp>>, C<L</mXPUSHp>> and C<L</XPUSHp>>.
=for apidoc Am|void|mPUSHn|NV nv
Push a double onto the stack. The stack must have room for this element.
-Does not use C<TARG>. See also C<PUSHn>, C<mXPUSHn> and C<XPUSHn>.
+Does not use C<TARG>. See also C<L</PUSHn>>, C<L</mXPUSHn>> and C<L</XPUSHn>>.
=for apidoc Am|void|mPUSHi|IV iv
Push an integer onto the stack. The stack must have room for this element.
-Does not use C<TARG>. See also C<PUSHi>, C<mXPUSHi> and C<XPUSHi>.
+Does not use C<TARG>. See also C<L</PUSHi>>, C<L</mXPUSHi>> and C<L</XPUSHi>>.
=for apidoc Am|void|mPUSHu|UV uv
Push an unsigned integer onto the stack. The stack must have room for this
-element. Does not use C<TARG>. See also C<PUSHu>, C<mXPUSHu> and C<XPUSHu>.
+element. Does not use C<TARG>. See also C<L</PUSHu>>, C<L</mXPUSHu>> and
+C<L</XPUSHu>>.
=for apidoc Am|void|mXPUSHs|SV* sv
Push an SV onto the stack, extending the stack if necessary and mortalizes
-the SV. Does not use C<TARG>. See also C<XPUSHs> and C<mPUSHs>.
+the SV. Does not use C<TARG>. See also C<L</XPUSHs>> and C<L</mPUSHs>>.
=for apidoc Am|void|XPUSHmortal
Push a new mortal SV onto the stack, extending the stack if necessary.
-Does not use C<TARG>. See also C<XPUSHs>, C<PUSHmortal> and C<PUSHs>.
+Does not use C<TARG>. See also C<L</XPUSHs>>, C<L</PUSHmortal>> and
+C<L</PUSHs>>.
=for apidoc Am|void|mXPUSHp|char* str|STRLEN len
Push a string onto the stack, extending the stack if necessary. The C<len>
-indicates the length of the string. Does not use C<TARG>. See also C<XPUSHp>,
-C<mPUSHp> and C<PUSHp>.
+indicates the length of the string. Does not use C<TARG>. See also
+C<L</XPUSHp>>, C<mPUSHp> and C<PUSHp>.
=for apidoc Am|void|mXPUSHn|NV nv
Push a double onto the stack, extending the stack if necessary.
-Does not use C<TARG>. See also C<XPUSHn>, C<mPUSHn> and C<PUSHn>.
+Does not use C<TARG>. See also C<L</XPUSHn>>, C<L</mPUSHn>> and C<L</PUSHn>>.
=for apidoc Am|void|mXPUSHi|IV iv
Push an integer onto the stack, extending the stack if necessary.
-Does not use C<TARG>. See also C<XPUSHi>, C<mPUSHi> and C<PUSHi>.
+Does not use C<TARG>. See also C<L</XPUSHi>>, C<L</mPUSHi>> and C<L</PUSHi>>.
=for apidoc Am|void|mXPUSHu|UV uv
Push an unsigned integer onto the stack, extending the stack if necessary.
-Does not use C<TARG>. See also C<XPUSHu>, C<mPUSHu> and C<PUSHu>.
+Does not use C<TARG>. See also C<L</XPUSHu>>, C<L</mPUSHu>> and C<L</PUSHu>>.
=cut
*/
diff --git a/scope.h b/scope.h
index 0de5b7777a..822c8baba3 100644
--- a/scope.h
+++ b/scope.h
@@ -158,18 +158,18 @@
=head1 Callback Functions
=for apidoc Ams||SAVETMPS
-Opening bracket for temporaries on a callback. See C<FREETMPS> and
+Opening bracket for temporaries on a callback. See C<L</FREETMPS>> and
L<perlcall>.
=for apidoc Ams||FREETMPS
-Closing bracket for temporaries on a callback. See C<SAVETMPS> and
+Closing bracket for temporaries on a callback. See C<L</SAVETMPS>> and
L<perlcall>.
=for apidoc Ams||ENTER
-Opening bracket on a callback. See C<LEAVE> and L<perlcall>.
+Opening bracket on a callback. See C<L</LEAVE>> and L<perlcall>.
=for apidoc Ams||LEAVE
-Closing bracket on a callback. See C<ENTER> and L<perlcall>.
+Closing bracket on a callback. See C<L</ENTER>> and L<perlcall>.
=over
diff --git a/sv.c b/sv.c
index a6fb2cbb1f..0977ae7af5 100644
--- a/sv.c
+++ b/sv.c
@@ -1216,7 +1216,7 @@ SV, then copies across as much information as possible from the old body.
It croaks if the SV is already in a more complex form than requested. You
generally want to use the C<SvUPGRADE> macro wrapper, which checks the type
before calling C<sv_upgrade>, and hence does not croak. See also
-C<svtype>.
+C<L</svtype>>.
=cut
*/
@@ -1643,7 +1643,7 @@ Perl_sv_grow(pTHX_ SV *const sv, STRLEN newlen)
=for apidoc sv_setiv
Copies an integer into the given SV, upgrading first if necessary.
-Does not handle 'set' magic. See also C<sv_setiv_mg>.
+Does not handle 'set' magic. See also C<L</sv_setiv_mg>>.
=cut
*/
@@ -1703,7 +1703,7 @@ Perl_sv_setiv_mg(pTHX_ SV *const sv, const IV i)
=for apidoc sv_setuv
Copies an unsigned integer into the given SV, upgrading first if necessary.
-Does not handle 'set' magic. See also C<sv_setuv_mg>.
+Does not handle 'set' magic. See also C<L</sv_setuv_mg>>.
=cut
*/
@@ -1754,7 +1754,7 @@ Perl_sv_setuv_mg(pTHX_ SV *const sv, const UV u)
=for apidoc sv_setnv
Copies a double into the given SV, upgrading first if necessary.
-Does not handle 'set' magic. See also C<sv_setnv_mg>.
+Does not handle 'set' magic. See also C<L</sv_setnv_mg>>.
=cut
*/
@@ -4820,7 +4820,7 @@ Perl_sv_setsv_cow(pTHX_ SV *dstr, SV *sstr)
Copies a string (possibly containing embedded C<NUL> characters) into an SV.
The C<len> parameter indicates the number of
bytes to be copied. If the C<ptr> argument is NULL the SV will become
-undefined. Does not handle 'set' magic. See C<sv_setpvn_mg>.
+undefined. Does not handle 'set' magic. See C<L</sv_setpvn_mg>>.
=cut
*/
@@ -4877,7 +4877,7 @@ Perl_sv_setpvn_mg(pTHX_ SV *const sv, const char *const ptr, const STRLEN len)
Copies a string into an SV. The string must be terminated with a C<NUL>
character.
-Does not handle 'set' magic. See C<sv_setpv_mg>.
+Does not handle 'set' magic. See C<L</sv_setpv_mg>>.
=cut
*/
@@ -5328,7 +5328,7 @@ Perl_sv_chop(pTHX_ SV *const sv, const char *const ptr)
Concatenates the string onto the end of the string which is in the SV. The
C<len> indicates number of bytes to copy. If the SV has the UTF-8
status set, then the bytes appended should be valid UTF-8.
-Handles 'get' magic, but not 'set' magic. See C<sv_catpvn_mg>.
+Handles 'get' magic, but not 'set' magic. See C<L</sv_catpvn_mg>>.
=for apidoc sv_catpvn_flags
@@ -5400,8 +5400,8 @@ Perl_sv_catpvn_flags(pTHX_ SV *const dsv, const char *sstr, const STRLEN slen, c
Concatenates the string from SV C<ssv> onto the end of the string in SV
C<dsv>. If C<ssv> is null, does nothing; otherwise modifies only C<dsv>.
-Handles 'get' magic on both SVs, but no 'set' magic. See C<sv_catsv_mg> and
-C<sv_catsv_nomg>.
+Handles 'get' magic on both SVs, but no 'set' magic. See C<L</sv_catsv_mg>>
+and C<L</sv_catsv_nomg>>.
=for apidoc sv_catsv_flags
@@ -5437,7 +5437,8 @@ Perl_sv_catsv_flags(pTHX_ SV *const dsv, SV *const ssv, const I32 flags)
Concatenates the C<NUL>-terminated string onto the end of the string which is
in the SV.
If the SV has the UTF-8 status set, then the bytes appended should be
-valid UTF-8. Handles 'get' magic, but not 'set' magic. See C<sv_catpv_mg>.
+valid UTF-8. Handles 'get' magic, but not 'set' magic. See
+C<L</sv_catpv_mg>>.
=cut */
@@ -5638,7 +5639,7 @@ Adds magic to an SV. First upgrades C<sv> to type C<SVt_PVMG> if
necessary, then adds a new magic item of type C<how> to the head of the
magic list.
-See C<sv_magicext> (which C<sv_magic> now calls) for a description of the
+See C<L</sv_magicext>> (which C<sv_magic> now calls) for a description of the
handling of the C<name> and C<namlen> arguments.
You need to use C<sv_magicext> to add magic to SvREADONLY SVs and also
@@ -6928,7 +6929,7 @@ Perl_sv_free2(pTHX_ SV *const sv, const U32 rc)
=for apidoc sv_len
Returns the length of the string in the SV. Handles magic and type
-coercion and sets the UTF8 flag appropriately. See also C<SvCUR>, which
+coercion and sets the UTF8 flag appropriately. See also C<L</SvCUR>>, which
gives raw access to the xpv_cur slot.
=cut
@@ -7721,7 +7722,7 @@ Perl_sv_eq_flags(pTHX_ SV *sv1, SV *sv2, const U32 flags)
Compares the strings in two SVs. Returns -1, 0, or 1 indicating whether the
string in C<sv1> is less than, equal to, or greater than the string in
C<sv2>. Is UTF-8 and 'use bytes' aware, handles get magic, and will
-coerce its args to strings if necessary. See also C<sv_cmp_locale>.
+coerce its args to strings if necessary. See also C<L</sv_cmp_locale>>.
=for apidoc sv_cmp_flags
@@ -7729,7 +7730,7 @@ Compares the strings in two SVs. Returns -1, 0, or 1 indicating whether the
string in C<sv1> is less than, equal to, or greater than the string in
C<sv2>. Is UTF-8 and 'use bytes' aware and will coerce its args to strings
if necessary. If the flags include SV_GMAGIC, it handles get magic. See
-also C<sv_cmp_locale_flags>.
+also C<L</sv_cmp_locale_flags>>.
=cut
*/
@@ -7965,13 +7966,13 @@ Perl_sv_cmp_flags(pTHX_ SV *const sv1, SV *const sv2,
Compares the strings in two SVs in a locale-aware manner. Is UTF-8 and
'use bytes' aware, handles get magic, and will coerce its args to strings
-if necessary. See also C<sv_cmp>.
+if necessary. See also C<L</sv_cmp>>.
=for apidoc sv_cmp_locale_flags
Compares the strings in two SVs in a locale-aware manner. Is UTF-8 and
'use bytes' aware and will coerce its args to strings if necessary. If the
-flags contain SV_GMAGIC, it handles get magic. See also C<sv_cmp_flags>.
+flags contain SV_GMAGIC, it handles get magic. See also C<L</sv_cmp_flags>>.
=cut
*/
@@ -8040,7 +8041,7 @@ Perl_sv_cmp_locale_flags(pTHX_ SV *const sv1, SV *const sv2,
=for apidoc sv_collxfrm
This calls C<sv_collxfrm_flags> with the SV_GMAGIC flag. See
-C<sv_collxfrm_flags>.
+C<L</sv_collxfrm_flags>>.
=for apidoc sv_collxfrm_flags
@@ -9002,7 +9003,7 @@ Perl_sv_dec_nomg(pTHX_ SV *const sv)
Creates a new SV which is a copy of the original SV (using C<sv_setsv>).
The new SV is marked as mortal. It will be destroyed "soon", either by an
explicit call to FREETMPS, or by an implicit call at places such as
-statement boundaries. See also C<sv_newmortal> and C<sv_2mortal>.
+statement boundaries. See also C<L</sv_newmortal>> and C<L</sv_2mortal>>.
=cut
*/
@@ -9032,7 +9033,7 @@ Perl_sv_mortalcopy_flags(pTHX_ SV *const oldstr, U32 flags)
Creates a new null SV which is mortal. The reference count of the SV is
set to 1. It will be destroyed "soon", either by an explicit call to
FREETMPS, or by an implicit call at places such as statement boundaries.
-See also C<sv_mortalcopy> and C<sv_2mortal>.
+See also C<L</sv_mortalcopy>> and C<L</sv_2mortal>>.
=cut
*/
@@ -9104,8 +9105,8 @@ Perl_newSVpvn_flags(pTHX_ const char *const s, const STRLEN len, const U32 flags
Marks an existing SV as mortal. The SV will be destroyed "soon", either
by an explicit call to FREETMPS, or by an implicit call at places such as
statement boundaries. SvTEMP() is turned on which means that the SV's
-string buffer can be "stolen" if this SV is copied. See also C<sv_newmortal>
-and C<sv_mortalcopy>.
+string buffer can be "stolen" if this SV is copied. See also
+C<L</sv_newmortal>> and C<L</sv_mortalcopy>>.
=cut
*/
@@ -9826,7 +9827,7 @@ If C<flags> has C<SV_GMAGIC> bit set, will C<mg_get> on C<sv> if
appropriate, else not. C<sv_pvn_force> and C<sv_pvn_force_nomg> are
implemented in terms of this function.
You normally want to use the various wrapper macros instead: see
-C<SvPV_force> and C<SvPV_force_nomg>
+C<L</SvPV_force>> and C<L</SvPV_force_nomg>>.
=cut
*/
@@ -10247,7 +10248,7 @@ Perl_sv_setref_pvn(pTHX_ SV *const rv, const char *const classname,
=for apidoc sv_bless
Blesses an SV into a specified package. The SV must be an RV. The package
-must be designated by its stash (see C<gv_stashpv()>). The reference count
+must be designated by its stash (see C<L</gv_stashpv>>). The reference count
of the SV is unaffected.
=cut
@@ -10352,7 +10353,7 @@ as a reversal of C<newSVrv>. The C<cflags> argument can contain
C<SV_IMMEDIATE_UNREF> to force the reference count to be decremented
(otherwise the decrementing is conditional on the reference count being
different from one or the reference being a readonly SV).
-See C<SvROK_off>.
+See C<L</SvROK_off>>.
=cut
*/
@@ -10427,7 +10428,7 @@ Perl_sv_tainted(pTHX_ SV *const sv)
=for apidoc sv_setpviv
Copies an integer into the given SV, also updating its string value.
-Does not handle 'set' magic. See C<sv_setpviv_mg>.
+Does not handle 'set' magic. See C<L</sv_setpviv_mg>>.
=cut
*/
@@ -10504,7 +10505,7 @@ Perl_sv_setpvf_mg_nocontext(SV *const sv, const char *const pat, ...)
=for apidoc sv_setpvf
Works like C<sv_catpvf> but copies the text into the SV instead of
-appending it. Does not handle 'set' magic. See C<sv_setpvf_mg>.
+appending it. Does not handle 'set' magic. See C<L</sv_setpvf_mg>>.
=cut
*/
@@ -10525,7 +10526,7 @@ Perl_sv_setpvf(pTHX_ SV *const sv, const char *const pat, ...)
=for apidoc sv_vsetpvf
Works like C<sv_vcatpvf> but copies the text into the SV instead of
-appending it. Does not handle 'set' magic. See C<sv_vsetpvf_mg>.
+appending it. Does not handle 'set' magic. See C<L</sv_vsetpvf_mg>>.
Usually used via its frontend C<sv_setpvf>.
@@ -10629,7 +10630,7 @@ If the appended data contains "wide" characters
(including, but not limited to, SVs with a UTF-8 PV formatted with %s,
and characters >255 formatted with %c), the original SV might get
upgraded to UTF-8. Handles 'get' magic, but not 'set' magic. See
-C<sv_catpvf_mg>. If the original SV was UTF-8, the pattern should be
+C<L</sv_catpvf_mg>>. If the original SV was UTF-8, the pattern should be
valid UTF-8; if the original SV was bytes, the pattern should be too.
=cut */
@@ -10651,7 +10652,7 @@ Perl_sv_catpvf(pTHX_ SV *const sv, const char *const pat, ...)
Processes its arguments like C<sv_catpvfn> called with a non-null C-style
variable argument list, and appends the formatted
-to an SV. Does not handle 'set' magic. See C<sv_vcatpvf_mg>.
+to an SV. Does not handle 'set' magic. See C<L</sv_vcatpvf_mg>>.
Usually used via its frontend C<sv_catpvf>.
diff --git a/sv.h b/sv.h
index bc5daa9212..4ecaebadf5 100644
--- a/sv.h
+++ b/sv.h
@@ -320,11 +320,11 @@ is not NULL. Since we don't have to check the NULLness, it's faster
and smaller.
=for apidoc Am|svtype|SvTYPE|SV* sv
-Returns the type of the SV. See C<svtype>.
+Returns the type of the SV. See C<L</svtype>>.
=for apidoc Am|void|SvUPGRADE|SV* sv|svtype type
Used to upgrade an SV to a more complex form. Uses C<sv_upgrade> to
-perform the upgrade if necessary. See C<svtype>.
+perform the upgrade if necessary. See C<L</svtype>>.
=cut
*/
@@ -760,15 +760,15 @@ Dereferences an RV to return the SV.
=for apidoc Am|IV|SvIVX|SV* sv
Returns the raw value in the SV's IV slot, without checks or conversions.
-Only use when you are sure SvIOK is true. See also C<SvIV()>.
+Only use when you are sure SvIOK is true. See also C<L</SvIV>>.
=for apidoc Am|UV|SvUVX|SV* sv
Returns the raw value in the SV's UV slot, without checks or conversions.
-Only use when you are sure SvIOK is true. See also C<SvUV()>.
+Only use when you are sure SvIOK is true. See also C<L</SvUV>>.
=for apidoc Am|NV|SvNVX|SV* sv
Returns the raw value in the SV's NV slot, without checks or conversions.
-Only use when you are sure SvNOK is true. See also C<SvNV()>.
+Only use when you are sure SvNOK is true. See also C<L</SvNV>>.
=for apidoc Am|char*|SvPVX|SV* sv
Returns a pointer to the physical string in the SV. The SV must contain a
@@ -780,17 +780,17 @@ This is also used to store the name of an autoloaded subroutine in an XS
AUTOLOAD routine. See L<perlguts/Autoloading with XSUBs>.
=for apidoc Am|STRLEN|SvCUR|SV* sv
-Returns the length of the string which is in the SV. See C<SvLEN>.
+Returns the length of the string which is in the SV. See C<L</SvLEN>>.
=for apidoc Am|STRLEN|SvLEN|SV* sv
Returns the size of the string buffer in the SV, not including any part
-attributable to C<SvOOK>. See C<SvCUR>.
+attributable to C<SvOOK>. See C<L</SvCUR>>.
=for apidoc Am|char*|SvEND|SV* sv
Returns a pointer to the spot just after the last character in
the string which is in the SV, where there is usually a trailing
C<NUL> character (even though Perl scalars do not strictly require it).
-See C<SvCUR>. Access the character as *(SvEND(sv)).
+See C<L</SvCUR>>. Access the character as *(SvEND(sv)).
Warning: If C<SvCUR> is equal to C<SvLEN>, then C<SvEND> points to
unallocated memory.
@@ -805,14 +805,14 @@ With future Perls, however, it will be more efficient to use
C<SvIV_set> instead of the lvalue assignment to C<SvIVX>.
=for apidoc Am|void|SvNV_set|SV* sv|NV val
-Set the value of the NV pointer in sv to val. See C<SvIV_set>.
+Set the value of the NV pointer in sv to val. See C<L</SvIV_set>>.
=for apidoc Am|void|SvPV_set|SV* sv|char* val
This is probably not what you want to use, you probably wanted
L</sv_usepvn_flags> or L</sv_setpvn> or L</sv_setpvs>.
Set the value of the PV pointer in C<sv> to the Perl allocated
-C<NUL>-terminated string C<val>. See also C<SvIV_set>.
+C<NUL>-terminated string C<val>. See also C<L</SvIV_set>>.
Remember to free the previous PV buffer. There are many things to check.
Beware that the existing pointer may be involved in copy-on-write or other
@@ -822,23 +822,23 @@ modification is safe. Then finally, if it is not a COW, call C<SvPV_free> to
free the previous PV buffer.
=for apidoc Am|void|SvUV_set|SV* sv|UV val
-Set the value of the UV pointer in sv to val. See C<SvIV_set>.
+Set the value of the UV pointer in sv to val. See C<L</SvIV_set>>.
=for apidoc Am|void|SvRV_set|SV* sv|SV* val
-Set the value of the RV pointer in sv to val. See C<SvIV_set>.
+Set the value of the RV pointer in sv to val. See C<L</SvIV_set>>.
=for apidoc Am|void|SvMAGIC_set|SV* sv|MAGIC* val
-Set the value of the MAGIC pointer in sv to val. See C<SvIV_set>.
+Set the value of the MAGIC pointer in sv to val. See C<L</SvIV_set>>.
=for apidoc Am|void|SvSTASH_set|SV* sv|HV* val
-Set the value of the STASH pointer in sv to val. See C<SvIV_set>.
+Set the value of the STASH pointer in sv to val. See C<L</SvIV_set>>.
=for apidoc Am|void|SvCUR_set|SV* sv|STRLEN len
-Set the current length of the string which is in the SV. See C<SvCUR>
-and C<SvIV_set>.
+Set the current length of the string which is in the SV. See C<L</SvCUR>>
+and C<SvIV_set>>.
=for apidoc Am|void|SvLEN_set|SV* sv|STRLEN len
-Set the actual length of the string which is in the SV. See C<SvIV_set>.
+Set the actual length of the string which is in the SV. See C<L</SvIV_set>>.
=cut
*/
@@ -1499,7 +1499,7 @@ Returns a pointer to the string in the SV, or a stringified form of
the SV if the SV does not contain a string. The SV may cache the
stringified version becoming C<SvPOK>. Handles 'get' magic. The
C<len> variable will be set to the length of the string (this is a macro, so
-don't use C<&len>). See also C<SvPVx> for a version which guarantees to
+don't use C<&len>). See also C<L</SvPVx>> for a version which guarantees to
evaluate sv only once.
Note that there is no guarantee that the return value of C<SvPV()> is
@@ -1509,7 +1509,7 @@ time. This is due to the way that things like overloading and
Copy-On-Write are handled. In these cases, the return value may point to
a temporary buffer or similar. If you absolutely need the SvPVX field to
be valid (for example, if you intend to write to it), then see
-L</SvPV_force>.
+C<L</SvPV_force>>.
=for apidoc Am|char*|SvPVx|SV* sv|STRLEN len
A version of C<SvPV> which guarantees to evaluate C<sv> only once.
@@ -1526,7 +1526,7 @@ Like C<SvPV> but doesn't set a length variable.
Like C<SvPV_nolen> but doesn't process magic.
=for apidoc Am|IV|SvIV|SV* sv
-Coerces the given SV to an integer and returns it. See C<SvIVx> for a
+Coerces the given SV to an integer and returns it. See C<L</SvIVx>> for a
version which guarantees to evaluate sv only once.
=for apidoc Am|IV|SvIV_nomg|SV* sv
@@ -1539,7 +1539,7 @@ this if C<sv> is an expression with side effects,
otherwise use the more efficient C<SvIV>.
=for apidoc Am|NV|SvNV|SV* sv
-Coerce the given SV to a double and return it. See C<SvNVx> for a version
+Coerce the given SV to a double and return it. See C<L</SvNVx>> for a version
which guarantees to evaluate sv only once.
=for apidoc Am|NV|SvNV_nomg|SV* sv
@@ -1552,7 +1552,7 @@ this if C<sv> is an expression with side effects,
otherwise use the more efficient C<SvNV>.
=for apidoc Am|UV|SvUV|SV* sv
-Coerces the given SV to an unsigned integer and returns it. See C<SvUVx>
+Coerces the given SV to an unsigned integer and returns it. See C<L</SvUVx>>
for a version which guarantees to evaluate sv only once.
=for apidoc Am|UV|SvUV_nomg|SV* sv
@@ -2079,7 +2079,7 @@ alternative is to call C<sv_grow> if you are not sure of the type of SV.
Returns a true SV if C<b> is a true value, or a false SV if C<b> is 0.
-See also C<PL_sv_yes> and C<PL_sv_no>.
+See also C<L</PL_sv_yes>> and C<L</PL_sv_no>>.
=cut
*/
diff --git a/t/porting/known_pod_issues.dat b/t/porting/known_pod_issues.dat
index c4d3594307..0674678594 100644
--- a/t/porting/known_pod_issues.dat
+++ b/t/porting/known_pod_issues.dat
@@ -269,7 +269,6 @@ os2/os2/os2-rexx/rexx.pm Verbatim line length including indents exceeds 79 by 1
pod/perl.pod Verbatim line length including indents exceeds 79 by 8
pod/perlaix.pod Verbatim line length including indents exceeds 79 by 11
pod/perlandroid.pod Verbatim line length including indents exceeds 79 by 2
-pod/perlapi.pod ? Should you be using L<...> instead of 80
pod/perlapio.pod Verbatim line length including indents exceeds 79 by 5
pod/perlbook.pod Verbatim line length including indents exceeds 79 by 1
pod/perlcall.pod Verbatim line length including indents exceeds 79 by 2
@@ -289,7 +288,6 @@ pod/perlhack.pod ? Should you be using L<...> instead of 1
pod/perlhist.pod Verbatim line length including indents exceeds 79 by 1
pod/perlhpux.pod Verbatim line length including indents exceeds 79 by 7
pod/perlhurd.pod Verbatim line length including indents exceeds 79 by 2
-pod/perlintern.pod ? Should you be using L<...> instead of 5
pod/perlinterp.pod ? Should you be using L<...> instead of 1
pod/perliol.pod Verbatim line length including indents exceeds 79 by 8
pod/perlipc.pod Verbatim line length including indents exceeds 79 by 19