diff options
author | Sébastien Aperghis-Tramoni <sebastien@aperghis.net> | 2005-10-19 00:22:57 +0200 |
---|---|---|
committer | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2005-10-19 07:52:20 +0000 |
commit | d8c40edcf7b2eca3075e6c3cd36c64193c41e123 (patch) | |
tree | f5a81e98ce9d3d6c495b643c7dba702d5c44ff75 | |
parent | e886094b26c01a71243f931e1dd54d48122d46f1 (diff) | |
download | perl-d8c40edcf7b2eca3075e6c3cd36c64193c41e123.tar.gz |
Adding documentation index to perlapi.pod and perlintern.pod
Message-ID: <1129666977.435559a10cb95@imp5-g19.free.fr>
(tweaked to remove trailing whitespace to doc entries)
Plus, regenerate doc and headers
p4raw-id: //depot/perl@25802
-rw-r--r-- | autodoc.pl | 5 | ||||
-rw-r--r-- | embed.h | 2 | ||||
-rw-r--r-- | pod/perlapi.pod | 513 | ||||
-rw-r--r-- | pod/perlintern.pod | 98 | ||||
-rw-r--r-- | proto.h | 2 |
5 files changed, 601 insertions, 19 deletions
diff --git a/autodoc.pl b/autodoc.pl index d347e4c95e..6a2e28bfe8 100644 --- a/autodoc.pl +++ b/autodoc.pl @@ -120,13 +120,14 @@ DOC: sub docout ($$$) { # output the docs for one function my($fh, $name, $docref) = @_; my($flags, $docs, $ret, $file, @args) = @$docref; + $name =~ s/\s*$//; $docs .= "NOTE: this function is experimental and may change or be removed without notice.\n\n" if $flags =~ /x/; $docs .= "NOTE: the perl_ form of this function is deprecated.\n\n" if $flags =~ /p/; - print $fh "=item $name\n$docs"; + print $fh "=item $name\nX<$name>\n$docs"; if ($flags =~ /U/) { # no usage # nothing @@ -200,6 +201,7 @@ print DOC <<'_EOB_'; perlapi - autogenerated documentation for the perl public API =head1 DESCRIPTION +X<Perl API> X<API> X<api> This file contains the documentation of the perl public API generated by embed.pl, specifically a listing of functions, macros, flags, and variables @@ -264,6 +266,7 @@ perlintern - autogenerated documentation of purely B<internal> Perl functions =head1 DESCRIPTION +X<internal Perl functions> X<interpreter functions> This file is the autogenerated documentation of functions in the Perl interpreter that are documented using Perl's internal documentation @@ -2166,7 +2166,7 @@ #define do_eof(a) Perl_do_eof(aTHX_ a) #define do_exec(a) Perl_do_exec(aTHX_ a) #endif -#if defined(WIN32) || defined(SYMBIAN) +#if defined(WIN32) || defined(__SYMBIAN32__) #define do_aspawn(a,b,c) Perl_do_aspawn(aTHX_ a,b,c) #define do_spawn(a) Perl_do_spawn(aTHX_ a) #define do_spawn_nowait(a) Perl_do_spawn_nowait(aTHX_ a) diff --git a/pod/perlapi.pod b/pod/perlapi.pod index b26011e4ba..2bee300d89 100644 --- a/pod/perlapi.pod +++ b/pod/perlapi.pod @@ -3,6 +3,7 @@ perlapi - autogenerated documentation for the perl public API =head1 DESCRIPTION +X<Perl API> X<API> X<api> This file contains the documentation of the perl public API generated by embed.pl, specifically a listing of functions, macros, flags, and variables @@ -23,6 +24,7 @@ The listing is alphabetical, case insensitive. =over 8 =item GIMME +X<GIMME> A backward-compatible version of C<GIMME_V> which can only return C<G_SCALAR> or C<G_ARRAY>; in a void context, it returns C<G_SCALAR>. @@ -34,6 +36,7 @@ Deprecated. Use C<GIMME_V> instead. Found in file op.h =item GIMME_V +X<GIMME_V> The XSUB-writer's equivalent to Perl's C<wantarray>. Returns C<G_VOID>, C<G_SCALAR> or C<G_ARRAY> for void, scalar or list context, @@ -45,6 +48,7 @@ respectively. Found in file op.h =item G_ARRAY +X<G_ARRAY> Used to indicate list context. See C<GIMME_V>, C<GIMME> and L<perlcall>. @@ -53,6 +57,7 @@ L<perlcall>. Found in file cop.h =item G_DISCARD +X<G_DISCARD> Indicates that arguments returned from a callback should be discarded. See L<perlcall>. @@ -61,6 +66,7 @@ L<perlcall>. Found in file cop.h =item G_EVAL +X<G_EVAL> Used to force a Perl C<eval> wrapper around a callback. See L<perlcall>. @@ -69,6 +75,7 @@ L<perlcall>. Found in file cop.h =item G_NOARGS +X<G_NOARGS> Indicates that no arguments are being sent to a callback. See L<perlcall>. @@ -77,6 +84,7 @@ L<perlcall>. Found in file cop.h =item G_SCALAR +X<G_SCALAR> Used to indicate scalar context. See C<GIMME_V>, C<GIMME>, and L<perlcall>. @@ -85,6 +93,7 @@ L<perlcall>. Found in file cop.h =item G_VOID +X<G_VOID> Used to indicate void context. See C<GIMME_V> and L<perlcall>. @@ -99,6 +108,7 @@ Found in file cop.h =over 8 =item AvFILL +X<AvFILL> Same as C<av_len()>. Deprecated, use C<av_len()> instead. @@ -108,6 +118,7 @@ Same as C<av_len()>. Deprecated, use C<av_len()> instead. Found in file av.h =item av_clear +X<av_clear> Clears an array, making it empty. Does not free the memory used by the array itself. @@ -118,6 +129,7 @@ array itself. Found in file av.c =item av_delete +X<av_delete> Deletes the element indexed by C<key> from the array. Returns the deleted element. If C<flags> equals C<G_DISCARD>, the element is freed @@ -129,6 +141,7 @@ and null is returned. Found in file av.c =item av_exists +X<av_exists> Returns true if the element indexed by C<key> has been initialized. @@ -141,6 +154,7 @@ C<&PL_sv_undef>. Found in file av.c =item av_extend +X<av_extend> Pre-extend an array. The C<key> is the index to which the array should be extended. @@ -151,6 +165,7 @@ extended. Found in file av.c =item av_fetch +X<av_fetch> Returns the SV at the specified index in the array. The C<key> is the index. If C<lval> is set then the fetch will be part of a store. Check @@ -165,6 +180,7 @@ more information on how to use this function on tied arrays. Found in file av.c =item av_fill +X<av_fill> Ensure than an array has a given number of elements, equivalent to Perl's C<$#array = $fill;>. @@ -175,6 +191,7 @@ Perl's C<$#array = $fill;>. Found in file av.c =item av_len +X<av_len> Returns the highest index in the array. Returns -1 if the array is empty. @@ -185,6 +202,7 @@ empty. Found in file av.c =item av_make +X<av_make> Creates a new AV and populates it with a list of SVs. The SVs are copied into the array, so they may be freed after the call to av_make. The new AV @@ -196,6 +214,7 @@ will have a reference count of 1. Found in file av.c =item av_pop +X<av_pop> Pops an SV off the end of the array. Returns C<&PL_sv_undef> if the array is empty. @@ -206,6 +225,7 @@ is empty. Found in file av.c =item av_push +X<av_push> Pushes an SV onto the end of the array. The array will grow automatically to accommodate the addition. @@ -216,6 +236,7 @@ to accommodate the addition. Found in file av.c =item av_shift +X<av_shift> Shifts an SV off the beginning of the array. @@ -225,6 +246,7 @@ Shifts an SV off the beginning of the array. Found in file av.c =item av_store +X<av_store> Stores an SV in an array. The array index is specified as C<key>. The return value will be NULL if the operation failed or if the value did not @@ -243,6 +265,7 @@ more information on how to use this function on tied arrays. Found in file av.c =item av_undef +X<av_undef> Undefines the array. Frees the memory used by the array itself. @@ -252,6 +275,7 @@ Undefines the array. Frees the memory used by the array itself. Found in file av.c =item av_unshift +X<av_unshift> Unshift the given number of C<undef> values onto the beginning of the array. The array will grow automatically to accommodate the addition. You @@ -263,6 +287,7 @@ must then use C<av_store> to assign values to these new elements. Found in file av.c =item get_av +X<get_av> Returns the AV of the specified Perl array. If C<create> is set and the Perl variable does not exist then it will be created. If C<create> is not @@ -276,6 +301,7 @@ NOTE: the perl_ form of this function is deprecated. Found in file perl.c =item newAV +X<newAV> Creates a new AV. The reference count is set to 1. @@ -285,6 +311,7 @@ Creates a new AV. The reference count is set to 1. Found in file av.c =item sortsv +X<sortsv> Sort an array. Here is an example: @@ -305,6 +332,7 @@ Found in file pp_sort.c =over 8 =item call_argv +X<call_argv> Performs a callback to the specified Perl sub. See L<perlcall>. @@ -316,6 +344,7 @@ NOTE: the perl_ form of this function is deprecated. Found in file perl.c =item call_method +X<call_method> Performs a callback to the specified Perl method. The blessed object must be on the stack. See L<perlcall>. @@ -328,6 +357,7 @@ NOTE: the perl_ form of this function is deprecated. Found in file perl.c =item call_pv +X<call_pv> Performs a callback to the specified Perl sub. See L<perlcall>. @@ -339,6 +369,7 @@ NOTE: the perl_ form of this function is deprecated. Found in file perl.c =item call_sv +X<call_sv> Performs a callback to the Perl sub whose name is in the SV. See L<perlcall>. @@ -351,6 +382,7 @@ NOTE: the perl_ form of this function is deprecated. Found in file perl.c =item ENTER +X<ENTER> Opening bracket on a callback. See C<LEAVE> and L<perlcall>. @@ -360,6 +392,7 @@ Opening bracket on a callback. See C<LEAVE> and L<perlcall>. Found in file scope.h =item eval_pv +X<eval_pv> Tells Perl to C<eval> the given string and return an SV* result. @@ -371,6 +404,7 @@ NOTE: the perl_ form of this function is deprecated. Found in file perl.c =item eval_sv +X<eval_sv> Tells Perl to C<eval> the string in the SV. @@ -382,6 +416,7 @@ NOTE: the perl_ form of this function is deprecated. Found in file perl.c =item FREETMPS +X<FREETMPS> Closing bracket for temporaries on a callback. See C<SAVETMPS> and L<perlcall>. @@ -392,6 +427,7 @@ L<perlcall>. Found in file scope.h =item LEAVE +X<LEAVE> Closing bracket on a callback. See C<ENTER> and L<perlcall>. @@ -401,6 +437,7 @@ Closing bracket on a callback. See C<ENTER> and L<perlcall>. Found in file scope.h =item SAVETMPS +X<SAVETMPS> Opening bracket for temporaries on a callback. See C<FREETMPS> and L<perlcall>. @@ -418,6 +455,7 @@ Found in file scope.h =over 8 =item isALNUM +X<isALNUM> Returns a boolean indicating whether the C C<char> is an ASCII alphanumeric character (including underscore) or digit. @@ -428,6 +466,7 @@ character (including underscore) or digit. Found in file handy.h =item isALPHA +X<isALPHA> Returns a boolean indicating whether the C C<char> is an ASCII alphabetic character. @@ -438,6 +477,7 @@ character. Found in file handy.h =item isDIGIT +X<isDIGIT> Returns a boolean indicating whether the C C<char> is an ASCII digit. @@ -448,6 +488,7 @@ digit. Found in file handy.h =item isLOWER +X<isLOWER> Returns a boolean indicating whether the C C<char> is a lowercase character. @@ -458,6 +499,7 @@ character. Found in file handy.h =item isSPACE +X<isSPACE> Returns a boolean indicating whether the C C<char> is whitespace. @@ -467,6 +509,7 @@ Returns a boolean indicating whether the C C<char> is whitespace. Found in file handy.h =item isUPPER +X<isUPPER> Returns a boolean indicating whether the C C<char> is an uppercase character. @@ -477,6 +520,7 @@ character. Found in file handy.h =item toLOWER +X<toLOWER> Converts the specified character to lowercase. @@ -486,6 +530,7 @@ Converts the specified character to lowercase. Found in file handy.h =item toUPPER +X<toUPPER> Converts the specified character to uppercase. @@ -502,6 +547,7 @@ Found in file handy.h =over 8 =item perl_clone +X<perl_clone> Create and return a new interpreter by cloning the current one. @@ -547,6 +593,7 @@ Found in file sv.c =over 8 =item CvSTASH +X<CvSTASH> Returns the stash of the CV. @@ -556,6 +603,7 @@ Returns the stash of the CV. Found in file cv.h =item get_cv +X<get_cv> Returns the CV of the specified Perl subroutine. If C<create> is set and the Perl subroutine does not exist then it will be declared (which has the @@ -577,6 +625,7 @@ Found in file perl.c =over 8 =item cv_undef +X<cv_undef> Clear out all the active components of a CV. This can happen either by an explicit C<undef &foo>, or by the reference count going to zero. @@ -589,6 +638,7 @@ children can still follow the full lexical scope chain. Found in file op.c =item load_module +X<load_module> Loads the module whose name is pointed to by the string part of name. Note that the actual module name, not its filename, should be given. @@ -605,6 +655,7 @@ method, similar to C<use Foo::Bar VERSION LIST>. Found in file op.c =item nothreadhook +X<nothreadhook> Stub that provides thread hook for perl_destruct when there are no threads. @@ -615,6 +666,7 @@ no threads. Found in file perl.c =item perl_alloc +X<perl_alloc> Allocates a new Perl interpreter. See L<perlembed>. @@ -624,6 +676,7 @@ Allocates a new Perl interpreter. See L<perlembed>. Found in file perl.c =item perl_construct +X<perl_construct> Initializes a new Perl interpreter. See L<perlembed>. @@ -633,6 +686,7 @@ Initializes a new Perl interpreter. See L<perlembed>. Found in file perl.c =item perl_destruct +X<perl_destruct> Shuts down a Perl interpreter. See L<perlembed>. @@ -642,6 +696,7 @@ Shuts down a Perl interpreter. See L<perlembed>. Found in file perl.c =item perl_free +X<perl_free> Releases a Perl interpreter. See L<perlembed>. @@ -651,6 +706,7 @@ Releases a Perl interpreter. See L<perlembed>. Found in file perl.c =item perl_parse +X<perl_parse> Tells a Perl interpreter to parse a Perl script. See L<perlembed>. @@ -660,6 +716,7 @@ Tells a Perl interpreter to parse a Perl script. See L<perlembed>. Found in file perl.c =item perl_run +X<perl_run> Tells a Perl interpreter to run. See L<perlembed>. @@ -669,6 +726,7 @@ Tells a Perl interpreter to run. See L<perlembed>. Found in file perl.c =item require_pv +X<require_pv> Tells Perl to C<require> the file named by the string argument. It is analogous to the Perl code C<eval "require '$file'">. It's even @@ -690,6 +748,7 @@ Found in file perl.c =over 8 =item packlist +X<packlist> The engine implementing pack() Perl function. @@ -699,6 +758,7 @@ The engine implementing pack() Perl function. Found in file pp_pack.c =item pack_cat +X<pack_cat> The engine implementing pack() Perl function. Note: parameters next_in_list and flags are not used. This call should not be used; use packlist instead. @@ -709,6 +769,7 @@ flags are not used. This call should not be used; use packlist instead. Found in file pp_pack.c =item unpackstring +X<unpackstring> The engine implementing unpack() Perl function. C<unpackstring> puts the extracted list items on the stack and returns the number of elements. @@ -720,6 +781,7 @@ Issue C<PUTBACK> before and C<SPAGAIN> after the call to this function. Found in file pp_pack.c =item unpack_str +X<unpack_str> The engine implementing unpack() Perl function. Note: parameters strbeg, new_s and ocnt are not used. This call should not be used, use unpackstring instead. @@ -737,6 +799,7 @@ Found in file pp_pack.c =over 8 =item PL_modglobal +X<PL_modglobal> C<PL_modglobal> is a general purpose, interpreter global HV for use by extensions that need to keep information on a per-interpreter basis. @@ -750,6 +813,7 @@ prefixed by the package name of the extension that owns the data. Found in file intrpvar.h =item PL_na +X<PL_na> A convenience variable which is typically used with C<SvPV> when one doesn't care about the length of the string. It is usually more efficient @@ -762,6 +826,7 @@ C<SvPV_nolen> macro. Found in file thrdvar.h =item PL_sv_no +X<PL_sv_no> This is the C<false> SV. See C<PL_sv_yes>. Always refer to this as C<&PL_sv_no>. @@ -772,6 +837,7 @@ C<&PL_sv_no>. Found in file intrpvar.h =item PL_sv_undef +X<PL_sv_undef> This is the C<undef> SV. Always refer to this as C<&PL_sv_undef>. @@ -781,6 +847,7 @@ This is the C<undef> SV. Always refer to this as C<&PL_sv_undef>. Found in file intrpvar.h =item PL_sv_yes +X<PL_sv_yes> This is the C<true> SV. See C<PL_sv_no>. Always refer to this as C<&PL_sv_yes>. @@ -798,6 +865,7 @@ Found in file intrpvar.h =over 8 =item GvSV +X<GvSV> Return the SV from the GV. @@ -807,6 +875,7 @@ Return the SV from the GV. Found in file gv.h =item gv_fetchmeth +X<gv_fetchmeth> Returns the glob with the given C<name> and a defined subroutine or C<NULL>. The glob lives in the given C<stash>, or in the stashes @@ -829,6 +898,7 @@ obtained from the GV with the C<GvCV> macro. Found in file gv.c =item gv_fetchmethod +X<gv_fetchmethod> See L<gv_fetchmethod_autoload>. @@ -838,6 +908,7 @@ See L<gv_fetchmethod_autoload>. Found in file gv.c =item gv_fetchmethod_autoload +X<gv_fetchmethod_autoload> Returns the glob which contains the subroutine to call to invoke the method on the C<stash>. In fact in the presence of autoloading this may be the @@ -867,6 +938,7 @@ C<call_sv> apply equally to these functions. Found in file gv.c =item gv_fetchmeth_autoload +X<gv_fetchmeth_autoload> Same as gv_fetchmeth(), but looks for autoloaded subroutines too. Returns a glob for the subroutine. @@ -881,6 +953,7 @@ of the result may be zero. Found in file gv.c =item gv_stashpv +X<gv_stashpv> Returns a pointer to the stash for a specified package. C<name> should be a valid UTF-8 string and must be null-terminated. If C<create> is set @@ -893,6 +966,7 @@ is not set and the package does not exist then NULL is returned. Found in file gv.c =item gv_stashpvn +X<gv_stashpvn> Returns a pointer to the stash for a specified package. C<name> should be a valid UTF-8 string. The C<namelen> parameter indicates the length of @@ -906,6 +980,7 @@ package does not exist then NULL is returned. Found in file gv.c =item gv_stashsv +X<gv_stashsv> Returns a pointer to the stash for a specified package, which must be a valid UTF-8 string. See C<gv_stashpv>. @@ -923,6 +998,7 @@ Found in file gv.c =over 8 =item Nullav +X<Nullav> Null AV pointer. @@ -930,6 +1006,7 @@ Null AV pointer. Found in file av.h =item Nullch +X<Nullch> Null character pointer. @@ -937,6 +1014,7 @@ Null character pointer. Found in file handy.h =item Nullcv +X<Nullcv> Null CV pointer. @@ -944,6 +1022,7 @@ Null CV pointer. Found in file cv.h =item Nullhv +X<Nullhv> Null HV pointer. @@ -951,6 +1030,7 @@ Null HV pointer. Found in file hv.h =item Nullsv +X<Nullsv> Null SV pointer. @@ -965,6 +1045,7 @@ Found in file handy.h =over 8 =item get_hv +X<get_hv> Returns the HV of the specified Perl hash. If C<create> is set and the Perl variable does not exist then it will be created. If C<create> is not @@ -978,6 +1059,7 @@ NOTE: the perl_ form of this function is deprecated. Found in file perl.c =item HEf_SVKEY +X<HEf_SVKEY> This flag, used in the length slot of hash entries and magic structures, specifies the structure contains an C<SV*> pointer where a C<char*> pointer @@ -987,6 +1069,7 @@ is to be expected. (For information only--not to be used). Found in file hv.h =item HeHASH +X<HeHASH> Returns the computed hash stored in the hash entry. @@ -996,6 +1079,7 @@ Returns the computed hash stored in the hash entry. Found in file hv.h =item HeKEY +X<HeKEY> Returns the actual pointer stored in the key slot of the hash entry. The pointer may be either C<char*> or C<SV*>, depending on the value of @@ -1008,6 +1092,7 @@ usually preferable for finding the value of a key. Found in file hv.h =item HeKLEN +X<HeKLEN> If this is negative, and amounts to C<HEf_SVKEY>, it indicates the entry holds an C<SV*> key. Otherwise, holds the actual length of the key. Can @@ -1020,6 +1105,7 @@ lengths. Found in file hv.h =item HePV +X<HePV> Returns the key slot of the hash entry as a C<char*> value, doing any necessary dereferencing of possibly C<SV*> keys. The length of the string @@ -1037,6 +1123,7 @@ described elsewhere in this document. Found in file hv.h =item HeSVKEY +X<HeSVKEY> Returns the key as an C<SV*>, or C<Nullsv> if the hash entry does not contain an C<SV*> key. @@ -1047,6 +1134,7 @@ contain an C<SV*> key. Found in file hv.h =item HeSVKEY_force +X<HeSVKEY_force> Returns the key as an C<SV*>. Will create and return a temporary mortal C<SV*> if the hash entry contains only a C<char*> key. @@ -1057,6 +1145,7 @@ C<SV*> if the hash entry contains only a C<char*> key. Found in file hv.h =item HeSVKEY_set +X<HeSVKEY_set> Sets the key to a given C<SV*>, taking care to set the appropriate flags to indicate the presence of an C<SV*> key, and returns the same @@ -1068,6 +1157,7 @@ C<SV*>. Found in file hv.h =item HeVAL +X<HeVAL> Returns the value slot (type C<SV*>) stored in the hash entry. @@ -1077,6 +1167,7 @@ Returns the value slot (type C<SV*>) stored in the hash entry. Found in file hv.h =item HvNAME +X<HvNAME> Returns the package name of a stash, or NULL if C<stash> isn't a stash. See C<SvSTASH>, C<CvSTASH>. @@ -1087,6 +1178,7 @@ See C<SvSTASH>, C<CvSTASH>. Found in file hv.h =item hv_assert +X<hv_assert> Check that a hash is in an internally consistent state. @@ -1096,6 +1188,7 @@ Check that a hash is in an internally consistent state. Found in file hv.c =item hv_clear +X<hv_clear> Clears a hash, making it empty. @@ -1105,6 +1198,7 @@ Clears a hash, making it empty. Found in file hv.c =item hv_clear_placeholders +X<hv_clear_placeholders> Clears any placeholders from a hash. If a restricted hash has any of its keys marked as readonly and the key is subsequently deleted, the key is not actually @@ -1120,6 +1214,7 @@ See Hash::Util::lock_keys() for an example of its use. Found in file hv.c =item hv_delete +X<hv_delete> Deletes a key/value pair in the hash. The value SV is removed from the hash and returned to the caller. The C<klen> is the length of the key. @@ -1132,6 +1227,7 @@ will be returned. Found in file hv.c =item hv_delete_ent +X<hv_delete_ent> Deletes a key/value pair in the hash. The value SV is removed from the hash and returned to the caller. The C<flags> value will normally be zero; @@ -1144,6 +1240,7 @@ precomputed hash value, or 0 to ask for it to be computed. Found in file hv.c =item hv_exists +X<hv_exists> Returns a boolean indicating whether the specified hash key exists. The C<klen> is the length of the key. @@ -1154,6 +1251,7 @@ C<klen> is the length of the key. Found in file hv.c =item hv_exists_ent +X<hv_exists_ent> Returns a boolean indicating whether the specified hash key exists. C<hash> can be a valid precomputed hash value, or 0 to ask for it to be @@ -1165,6 +1263,7 @@ computed. Found in file hv.c =item hv_fetch +X<hv_fetch> Returns the SV which corresponds to the specified key in the hash. The C<klen> is the length of the key. If C<lval> is set then the fetch will be @@ -1180,6 +1279,7 @@ information on how to use this function on tied hashes. Found in file hv.c =item hv_fetch_ent +X<hv_fetch_ent> Returns the hash entry which corresponds to the specified key in the hash. C<hash> must be a valid precomputed hash number for the given C<key>, or 0 @@ -1198,6 +1298,7 @@ information on how to use this function on tied hashes. Found in file hv.c =item hv_iterinit +X<hv_iterinit> Prepares a starting point to traverse a hash table. Returns the number of keys in the hash (i.e. the same as C<HvKEYS(tb)>). The return value is @@ -1214,6 +1315,7 @@ value, you can get it through the macro C<HvFILL(tb)>. Found in file hv.c =item hv_iterkey +X<hv_iterkey> Returns the key from the current position of the hash iterator. See C<hv_iterinit>. @@ -1224,6 +1326,7 @@ C<hv_iterinit>. Found in file hv.c =item hv_iterkeysv +X<hv_iterkeysv> 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 @@ -1235,6 +1338,7 @@ see C<hv_iterinit>. Found in file hv.c =item hv_iternext +X<hv_iternext> Returns entries from a hash iterator. See C<hv_iterinit>. @@ -1252,6 +1356,7 @@ trigger the resource deallocation. Found in file hv.c =item hv_iternextsv +X<hv_iternextsv> Performs an C<hv_iternext>, C<hv_iterkey>, and C<hv_iterval> in one operation. @@ -1262,6 +1367,7 @@ operation. Found in file hv.c =item hv_iternext_flags +X<hv_iternext_flags> Returns entries from a hash iterator. See C<hv_iterinit> and C<hv_iternext>. The C<flags> value will normally be zero; if HV_ITERNEXT_WANTPLACEHOLDERS is @@ -1281,6 +1387,7 @@ removed without notice. Found in file hv.c =item hv_iterval +X<hv_iterval> Returns the value from the current position of the hash iterator. See C<hv_iterkey>. @@ -1291,6 +1398,7 @@ C<hv_iterkey>. Found in file hv.c =item hv_magic +X<hv_magic> Adds magic to a hash. See C<sv_magic>. @@ -1300,6 +1408,7 @@ Adds magic to a hash. See C<sv_magic>. Found in file hv.c =item hv_scalar +X<hv_scalar> Evaluates the hash in scalar context and returns the result. Handles magic when the hash is tied. @@ -1309,6 +1418,7 @@ Evaluates the hash in scalar context and returns the result. Handles magic when Found in file hv.c =item hv_store +X<hv_store> Stores an SV in a hash. The hash key is specified as C<key> and C<klen> is the length of the key. The C<hash> parameter is the precomputed hash @@ -1336,6 +1446,7 @@ information on how to use this function on tied hashes. Found in file hv.c =item hv_store_ent +X<hv_store_ent> Stores C<val> in a hash. The hash key is specified as C<key>. The C<hash> parameter is the precomputed hash value; if it is zero then Perl will @@ -1366,6 +1477,7 @@ information on how to use this function on tied hashes. Found in file hv.c =item hv_undef +X<hv_undef> Undefines the hash. @@ -1375,6 +1487,7 @@ Undefines the hash. Found in file hv.c =item newHV +X<newHV> Creates a new HV. The reference count is set to 1. @@ -1391,6 +1504,7 @@ Found in file hv.c =over 8 =item mg_clear +X<mg_clear> Clear something magical that the SV represents. See C<sv_magic>. @@ -1400,6 +1514,7 @@ Clear something magical that the SV represents. See C<sv_magic>. Found in file mg.c =item mg_copy +X<mg_copy> Copies the magic from one SV to another. See C<sv_magic>. @@ -1409,6 +1524,7 @@ Copies the magic from one SV to another. See C<sv_magic>. Found in file mg.c =item mg_find +X<mg_find> Finds the magic pointer for type matching the SV. See C<sv_magic>. @@ -1418,6 +1534,7 @@ Finds the magic pointer for type matching the SV. See C<sv_magic>. Found in file mg.c =item mg_free +X<mg_free> Free any magic storage used by the SV. See C<sv_magic>. @@ -1427,6 +1544,7 @@ Free any magic storage used by the SV. See C<sv_magic>. Found in file mg.c =item mg_get +X<mg_get> Do magic after a value is retrieved from the SV. See C<sv_magic>. @@ -1436,6 +1554,7 @@ Do magic after a value is retrieved from the SV. See C<sv_magic>. Found in file mg.c =item mg_length +X<mg_length> Report on the SV's length. See C<sv_magic>. @@ -1445,6 +1564,7 @@ Report on the SV's length. See C<sv_magic>. Found in file mg.c =item mg_magical +X<mg_magical> Turns on the magical status of an SV. See C<sv_magic>. @@ -1454,6 +1574,7 @@ Turns on the magical status of an SV. See C<sv_magic>. Found in file mg.c =item mg_set +X<mg_set> Do magic after a value is assigned to the SV. See C<sv_magic>. @@ -1463,6 +1584,7 @@ Do magic after a value is assigned to the SV. See C<sv_magic>. Found in file mg.c =item SvGETMAGIC +X<SvGETMAGIC> Invokes C<mg_get> on an SV if it has 'get' magic. This macro evaluates its argument more than once. @@ -1473,6 +1595,7 @@ argument more than once. Found in file sv.h =item SvLOCK +X<SvLOCK> Arranges for a mutual exclusion lock to be obtained on sv if a suitable module has been loaded. @@ -1483,6 +1606,7 @@ has been loaded. Found in file sv.h =item SvSETMAGIC +X<SvSETMAGIC> Invokes C<mg_set> on an SV if it has 'set' magic. This macro evaluates its argument more than once. @@ -1493,6 +1617,7 @@ argument more than once. Found in file sv.h =item SvSetMagicSV +X<SvSetMagicSV> Like C<SvSetSV>, but does any set magic required afterwards. @@ -1502,6 +1627,7 @@ Like C<SvSetSV>, but does any set magic required afterwards. Found in file sv.h =item SvSetMagicSV_nosteal +X<SvSetMagicSV_nosteal> Like C<SvSetSV_nosteal>, but does any set magic required afterwards. @@ -1511,6 +1637,7 @@ Like C<SvSetSV_nosteal>, but does any set magic required afterwards. Found in file sv.h =item SvSetSV +X<SvSetSV> Calls C<sv_setsv> if dsv is not the same as ssv. May evaluate arguments more than once. @@ -1521,6 +1648,7 @@ more than once. Found in file sv.h =item SvSetSV_nosteal +X<SvSetSV_nosteal> Calls a non-destructive version of C<sv_setsv> if dsv is not the same as ssv. May evaluate arguments more than once. @@ -1531,6 +1659,7 @@ ssv. May evaluate arguments more than once. Found in file sv.h =item SvSHARE +X<SvSHARE> Arranges for sv to be shared between threads if a suitable module has been loaded. @@ -1541,6 +1670,7 @@ has been loaded. Found in file sv.h =item SvUNLOCK +X<SvUNLOCK> Releases a mutual exclusion lock on sv if a suitable module has been loaded. @@ -1558,6 +1688,7 @@ Found in file sv.h =over 8 =item Copy +X<Copy> 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 @@ -1569,6 +1700,7 @@ the type. May fail on overlapping copies. See also C<Move>. Found in file handy.h =item CopyD +X<CopyD> Like C<Copy> but returns dest. Useful for encouraging compilers to tail-call optimise. @@ -1579,6 +1711,7 @@ optimise. Found in file handy.h =item Move +X<Move> 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 @@ -1590,6 +1723,7 @@ the type. Can do overlapping moves. See also C<Copy>. Found in file handy.h =item MoveD +X<MoveD> Like C<Move> but returns dest. Useful for encouraging compilers to tail-call optimise. @@ -1600,6 +1734,7 @@ optimise. Found in file handy.h =item Newx +X<Newx> The XSUB-writer's interface to the C C<malloc> function. @@ -1615,6 +1750,7 @@ there for use in XS modules supporting older perls. Found in file handy.h =item Newxc +X<Newxc> The XSUB-writer's interface to the C C<malloc> function, with cast. See also C<Newx>. @@ -1625,6 +1761,7 @@ cast. See also C<Newx>. Found in file handy.h =item Newxz +X<Newxz> The XSUB-writer's interface to the C C<malloc> function. The allocated memory is zeroed with C<memzero>. See also C<Newx>. @@ -1635,6 +1772,7 @@ memory is zeroed with C<memzero>. See also C<Newx>. Found in file handy.h =item Poison +X<Poison> Fill up memory with a pattern (byte 0xAB over and over again) that hopefully catches attempts to access uninitialized memory. @@ -1645,6 +1783,7 @@ hopefully catches attempts to access uninitialized memory. Found in file handy.h =item Renew +X<Renew> The XSUB-writer's interface to the C C<realloc> function. @@ -1654,6 +1793,7 @@ The XSUB-writer's interface to the C C<realloc> function. Found in file handy.h =item Renewc +X<Renewc> The XSUB-writer's interface to the C C<realloc> function, with cast. @@ -1664,6 +1804,7 @@ cast. Found in file handy.h =item Safefree +X<Safefree> The XSUB-writer's interface to the C C<free> function. @@ -1673,6 +1814,7 @@ The XSUB-writer's interface to the C C<free> function. Found in file handy.h =item savepv +X<savepv> Perl's version of C<strdup()>. Returns a pointer to a newly allocated string which is a duplicate of C<pv>. The size of the string is @@ -1685,6 +1827,7 @@ be freed with the C<Safefree()> function. Found in file util.c =item savepvn +X<savepvn> Perl's version of what C<strndup()> would be if it existed. Returns a pointer to a newly allocated string which is a duplicate of the first @@ -1697,6 +1840,7 @@ freed with the C<Safefree()> function. Found in file util.c =item savesharedpv +X<savesharedpv> A version of C<savepv()> which allocates the duplicate string in memory which is shared between threads. @@ -1707,6 +1851,7 @@ which is shared between threads. Found in file util.c =item savesvpv +X<savesvpv> A version of C<savepv()>/C<savepvn()> which gets the string to duplicate from the passed in SV using C<SvPV()> @@ -1717,6 +1862,7 @@ the passed in SV using C<SvPV()> Found in file util.c =item StructCopy +X<StructCopy> This is an architecture-independent macro to copy one structure to another. @@ -1726,6 +1872,7 @@ This is an architecture-independent macro to copy one structure to another. Found in file handy.h =item Zero +X<Zero> The XSUB-writer's interface to the C C<memzero> function. The C<dest> is the destination, C<nitems> is the number of items, and C<type> is the type. @@ -1736,6 +1883,7 @@ destination, C<nitems> is the number of items, and C<type> is the type. Found in file handy.h =item ZeroD +X<ZeroD> Like C<Zero> but returns dest. Useful for encouraging compilers to tail-call optimise. @@ -1753,6 +1901,7 @@ Found in file handy.h =over 8 =item fbm_compile +X<fbm_compile> Analyses the string in order to make fast searches on it using fbm_instr() -- the Boyer-Moore algorithm. @@ -1763,6 +1912,7 @@ Analyses the string in order to make fast searches on it using fbm_instr() Found in file util.c =item fbm_instr +X<fbm_instr> Returns the location of the SV in the string delimited by C<str> and C<strend>. It returns C<Nullch> if the string can't be found. The C<sv> @@ -1775,6 +1925,7 @@ then. Found in file util.c =item form +X<form> Takes a sprintf-style format pattern and conventional (non-SV) arguments and returns the formatted string. @@ -1795,6 +1946,7 @@ are done). Found in file util.c =item getcwd_sv +X<getcwd_sv> Fill the sv with current working directory @@ -1804,6 +1956,7 @@ Fill the sv with current working directory Found in file util.c =item new_version +X<new_version> Returns a new version object based on the passed in SV: @@ -1818,6 +1971,7 @@ want to upgrade the SV. Found in file util.c =item scan_version +X<scan_version> Returns a pointer to the next character after the parsed version string, as well as upgrading the passed in SV to @@ -1841,6 +1995,7 @@ it doesn't. Found in file util.c =item strEQ +X<strEQ> Test two strings to see if they are equal. Returns true or false. @@ -1850,6 +2005,7 @@ Test two strings to see if they are equal. Returns true or false. Found in file handy.h =item strGE +X<strGE> Test two strings to see if the first, C<s1>, is greater than or equal to the second, C<s2>. Returns true or false. @@ -1860,6 +2016,7 @@ the second, C<s2>. Returns true or false. Found in file handy.h =item strGT +X<strGT> Test two strings to see if the first, C<s1>, is greater than the second, C<s2>. Returns true or false. @@ -1870,6 +2027,7 @@ C<s2>. Returns true or false. Found in file handy.h =item strLE +X<strLE> Test two strings to see if the first, C<s1>, is less than or equal to the second, C<s2>. Returns true or false. @@ -1880,6 +2038,7 @@ second, C<s2>. Returns true or false. Found in file handy.h =item strLT +X<strLT> Test two strings to see if the first, C<s1>, is less than the second, C<s2>. Returns true or false. @@ -1890,6 +2049,7 @@ C<s2>. Returns true or false. Found in file handy.h =item strNE +X<strNE> Test two strings to see if they are different. Returns true or false. @@ -1900,6 +2060,7 @@ false. Found in file handy.h =item strnEQ +X<strnEQ> Test two strings to see if they are equal. The C<len> parameter indicates the number of bytes to compare. Returns true or false. (A wrapper for @@ -1911,6 +2072,7 @@ C<strncmp>). Found in file handy.h =item strnNE +X<strnNE> Test two strings to see if they are different. The C<len> parameter indicates the number of bytes to compare. Returns true or false. (A @@ -1922,6 +2084,7 @@ wrapper for C<strncmp>). Found in file handy.h =item sv_nolocking +X<sv_nolocking> Dummy routine which "locks" an SV when there is no locking module present. Exists to avoid test for a NULL function pointer and because it could potentially warn under @@ -1933,6 +2096,7 @@ some level of strict-ness. Found in file util.c =item sv_nosharing +X<sv_nosharing> Dummy routine which "shares" an SV when there is no sharing module present. Exists to avoid test for a NULL function pointer and because it could potentially warn under @@ -1944,6 +2108,7 @@ some level of strict-ness. Found in file util.c =item sv_nounlocking +X<sv_nounlocking> Dummy routine which "unlocks" an SV when there is no locking module present. Exists to avoid test for a NULL function pointer and because it could potentially warn under @@ -1955,6 +2120,7 @@ some level of strict-ness. Found in file util.c =item upg_version +X<upg_version> In-place upgrade of the supplied SV to a version object. @@ -1968,6 +2134,7 @@ Returns a pointer to the upgraded SV. Found in file util.c =item vcmp +X<vcmp> Version object aware cmp. Both operands must already have been converted into version objects. @@ -1978,6 +2145,7 @@ converted into version objects. Found in file util.c =item vnormal +X<vnormal> Accepts a version object and returns the normalized string representation. Call like: @@ -1993,6 +2161,7 @@ contained within the RV. Found in file util.c =item vnumify +X<vnumify> Accepts a version object and returns the normalized floating point representation. Call like: @@ -2008,6 +2177,7 @@ contained within the RV. Found in file util.c =item vstringify +X<vstringify> In order to maintain maximum compatibility with earlier versions of Perl, this function will return either the floating point @@ -2020,6 +2190,7 @@ the original version contained 1 or more dots, respectively Found in file util.c =item vverify +X<vverify> Validates that the SV contains a valid version object. @@ -2041,6 +2212,7 @@ Found in file util.c =over 8 =item grok_bin +X<grok_bin> converts a string representing a binary number to numeric form. @@ -2069,6 +2241,7 @@ number may use '_' characters to separate digits. Found in file numeric.c =item grok_hex +X<grok_hex> converts a string representing a hex number to numeric form. @@ -2097,6 +2270,7 @@ number may use '_' characters to separate digits. Found in file numeric.c =item grok_number +X<grok_number> Recognise (or not) a number. The type of the number is returned (0 if unrecognised), otherwise it is a bit-ORed combination of @@ -2122,6 +2296,7 @@ number is larger than a UV. Found in file numeric.c =item grok_numeric_radix +X<grok_numeric_radix> Scan and skip for a numeric decimal separator (radix). @@ -2131,6 +2306,7 @@ Scan and skip for a numeric decimal separator (radix). Found in file numeric.c =item grok_oct +X<grok_oct> converts a string representing an octal number to numeric form. @@ -2157,6 +2333,7 @@ number may use '_' characters to separate digits. Found in file numeric.c =item scan_bin +X<scan_bin> For backwards compatibility. Use C<grok_bin> instead. @@ -2166,6 +2343,7 @@ For backwards compatibility. Use C<grok_bin> instead. Found in file numeric.c =item scan_hex +X<scan_hex> For backwards compatibility. Use C<grok_hex> instead. @@ -2175,6 +2353,7 @@ For backwards compatibility. Use C<grok_hex> instead. Found in file numeric.c =item scan_oct +X<scan_oct> For backwards compatibility. Use C<grok_oct> instead. @@ -2191,6 +2370,7 @@ Found in file numeric.c =over 8 =item cv_const_sv +X<cv_const_sv> If C<cv> is a constant sub eligible for inlining. returns the constant value returned by the sub. Otherwise, returns NULL. @@ -2204,6 +2384,7 @@ L<perlsub/"Constant Functions">. Found in file op.c =item newCONSTSUB +X<newCONSTSUB> Creates a constant sub equivalent to Perl C<sub FOO () { 123 }> which is eligible for inlining at compile-time. @@ -2214,6 +2395,7 @@ eligible for inlining at compile-time. Found in file op.c =item newXS +X<newXS> Used by C<xsubpp> to hook up XSUBs as Perl subs. @@ -2228,6 +2410,7 @@ Found in file op.c =over 8 =item pad_sv +X<pad_sv> Get the value at offset po in the current pad. Use macro PAD_SV instead of calling this function directly. @@ -2245,6 +2428,7 @@ Found in file pad.c =over 8 =item dXCPT +X<dXCPT> Set up necessary local variables for exception handling. See L<perlguts/"Exception Handling">. @@ -2255,6 +2439,7 @@ See L<perlguts/"Exception Handling">. Found in file XSUB.h =item XCPT_CATCH +X<XCPT_CATCH> Introduces a catch block. See L<perlguts/"Exception Handling">. @@ -2262,6 +2447,7 @@ Introduces a catch block. See L<perlguts/"Exception Handling">. Found in file XSUB.h =item XCPT_RETHROW +X<XCPT_RETHROW> Rethrows a previously caught exception. See L<perlguts/"Exception Handling">. @@ -2271,6 +2457,7 @@ Rethrows a previously caught exception. See L<perlguts/"Exception Handling">. Found in file XSUB.h =item XCPT_TRY_END +X<XCPT_TRY_END> Ends a try block. See L<perlguts/"Exception Handling">. @@ -2278,6 +2465,7 @@ Ends a try block. See L<perlguts/"Exception Handling">. Found in file XSUB.h =item XCPT_TRY_START +X<XCPT_TRY_START> Starts a try block. See L<perlguts/"Exception Handling">. @@ -2292,6 +2480,7 @@ Found in file XSUB.h =over 8 =item dMARK +X<dMARK> Declare a stack marker variable, C<mark>, for the XSUB. See C<MARK> and C<dORIGMARK>. @@ -2302,6 +2491,7 @@ C<dORIGMARK>. Found in file pp.h =item dORIGMARK +X<dORIGMARK> Saves the original stack mark for the XSUB. See C<ORIGMARK>. @@ -2311,6 +2501,7 @@ Saves the original stack mark for the XSUB. See C<ORIGMARK>. Found in file pp.h =item dSP +X<dSP> Declares a local copy of perl's stack pointer for the XSUB, available via the C<SP> macro. See C<SP>. @@ -2321,6 +2512,7 @@ the C<SP> macro. See C<SP>. Found in file pp.h =item EXTEND +X<EXTEND> Used to extend the argument stack for an XSUB's return values. Once used, guarantees that there is room for at least C<nitems> to be pushed @@ -2332,6 +2524,7 @@ onto the stack. Found in file pp.h =item MARK +X<MARK> Stack marker variable for the XSUB. See C<dMARK>. @@ -2339,6 +2532,7 @@ Stack marker variable for the XSUB. See C<dMARK>. Found in file pp.h =item mPUSHi +X<mPUSHi> Push an integer onto the stack. The stack must have room for this element. Handles 'set' magic. Does not use C<TARG>. See also C<PUSHi>, C<mXPUSHi> @@ -2350,6 +2544,7 @@ and C<XPUSHi>. Found in file pp.h =item mPUSHn +X<mPUSHn> Push a double onto the stack. The stack must have room for this element. Handles 'set' magic. Does not use C<TARG>. See also C<PUSHn>, C<mXPUSHn> @@ -2361,6 +2556,7 @@ and C<XPUSHn>. Found in file pp.h =item mPUSHp +X<mPUSHp> 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. Does @@ -2372,6 +2568,7 @@ not use C<TARG>. See also C<PUSHp>, C<mXPUSHp> and C<XPUSHp>. Found in file pp.h =item mPUSHu +X<mPUSHu> Push an unsigned integer onto the stack. The stack must have room for this element. Handles 'set' magic. Does not use C<TARG>. See also C<PUSHu>, @@ -2383,6 +2580,7 @@ C<mXPUSHu> and C<XPUSHu>. Found in file pp.h =item mXPUSHi +X<mXPUSHi> Push an integer onto the stack, extending the stack if necessary. Handles 'set' magic. Does not use C<TARG>. See also C<XPUSHi>, C<mPUSHi> and @@ -2394,6 +2592,7 @@ C<PUSHi>. Found in file pp.h =item mXPUSHn +X<mXPUSHn> Push a double onto the stack, extending the stack if necessary. Handles 'set' magic. Does not use C<TARG>. See also C<XPUSHn>, C<mPUSHn> and @@ -2405,6 +2604,7 @@ C<PUSHn>. Found in file pp.h =item mXPUSHp +X<mXPUSHp> Push a string onto the stack, extending the stack if necessary. The C<len> indicates the length of the string. Handles 'set' magic. Does not use @@ -2416,6 +2616,7 @@ C<TARG>. See also C<XPUSHp>, C<mPUSHp> and C<PUSHp>. Found in file pp.h =item mXPUSHu +X<mXPUSHu> Push an unsigned integer onto the stack, extending the stack if necessary. Handles 'set' magic. Does not use C<TARG>. See also C<XPUSHu>, C<mPUSHu> @@ -2427,6 +2628,7 @@ and C<PUSHu>. Found in file pp.h =item ORIGMARK +X<ORIGMARK> The original stack mark for the XSUB. See C<dORIGMARK>. @@ -2434,6 +2636,7 @@ The original stack mark for the XSUB. See C<dORIGMARK>. Found in file pp.h =item POPi +X<POPi> Pops an integer off the stack. @@ -2443,6 +2646,7 @@ Pops an integer off the stack. Found in file pp.h =item POPl +X<POPl> Pops a long off the stack. @@ -2452,6 +2656,7 @@ Pops a long off the stack. Found in file pp.h =item POPn +X<POPn> Pops a double off the stack. @@ -2461,6 +2666,7 @@ Pops a double off the stack. Found in file pp.h =item POPp +X<POPp> Pops a string off the stack. Deprecated. New code should use POPpx. @@ -2470,6 +2676,7 @@ Pops a string off the stack. Deprecated. New code should use POPpx. Found in file pp.h =item POPpbytex +X<POPpbytex> Pops a string off the stack which must consist of bytes i.e. characters < 256. @@ -2479,6 +2686,7 @@ Pops a string off the stack which must consist of bytes i.e. characters < 256. Found in file pp.h =item POPpx +X<POPpx> Pops a string off the stack. @@ -2488,6 +2696,7 @@ Pops a string off the stack. Found in file pp.h =item POPs +X<POPs> Pops an SV off the stack. @@ -2497,6 +2706,7 @@ Pops an SV off the stack. Found in file pp.h =item PUSHi +X<PUSHi> 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 @@ -2510,6 +2720,7 @@ C<mXPUSHi>. Found in file pp.h =item PUSHMARK +X<PUSHMARK> Opening bracket for arguments on a callback. See C<PUTBACK> and L<perlcall>. @@ -2520,6 +2731,7 @@ L<perlcall>. Found in file pp.h =item PUSHmortal +X<PUSHmortal> Push a new mortal SV onto the stack. The stack must have room for this element. Does not handle 'set' magic. Does not use C<TARG>. See also @@ -2531,6 +2743,7 @@ C<PUSHs>, C<XPUSHmortal> and C<XPUSHs>. Found in file pp.h =item PUSHn +X<PUSHn> 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 @@ -2544,6 +2757,7 @@ C<mXPUSHn>. Found in file pp.h =item PUSHp +X<PUSHp> 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 @@ -2557,6 +2771,7 @@ C<mPUSHp> instead. See also C<XPUSHp> and C<mXPUSHp>. Found in file pp.h =item PUSHs +X<PUSHs> 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>, @@ -2568,6 +2783,7 @@ C<XPUSHs> and C<XPUSHmortal>. Found in file pp.h =item PUSHu +X<PUSHu> 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> @@ -2581,6 +2797,7 @@ C<XPUSHu> and C<mXPUSHu>. Found in file pp.h =item PUTBACK +X<PUTBACK> Closing bracket for XSUB arguments. This is usually handled by C<xsubpp>. See C<PUSHMARK> and L<perlcall> for other uses. @@ -2591,6 +2808,7 @@ See C<PUSHMARK> and L<perlcall> for other uses. Found in file pp.h =item SP +X<SP> Stack pointer. This is usually handled by C<xsubpp>. See C<dSP> and C<SPAGAIN>. @@ -2599,6 +2817,7 @@ C<SPAGAIN>. Found in file pp.h =item SPAGAIN +X<SPAGAIN> Refetch the stack pointer. Used after a callback. See L<perlcall>. @@ -2608,6 +2827,7 @@ Refetch the stack pointer. Used after a callback. See L<perlcall>. Found in file pp.h =item XPUSHi +X<XPUSHi> 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 @@ -2620,6 +2840,7 @@ from XSUB's - see C<mXPUSHi> instead. See also C<PUSHi> and C<mPUSHi>. Found in file pp.h =item XPUSHmortal +X<XPUSHmortal> Push a new mortal SV onto the stack, extending the stack if necessary. Does not handle 'set' magic. Does not use C<TARG>. See also C<XPUSHs>, @@ -2631,6 +2852,7 @@ C<PUSHmortal> and C<PUSHs>. Found in file pp.h =item XPUSHn +X<XPUSHn> 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 @@ -2643,6 +2865,7 @@ from XSUB's - see C<mXPUSHn> instead. See also C<PUSHn> and C<mPUSHn>. Found in file pp.h =item XPUSHp +X<XPUSHp> 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 @@ -2656,6 +2879,7 @@ C<mXPUSHp> instead. See also C<PUSHp> and C<mPUSHp>. Found in file pp.h =item XPUSHs +X<XPUSHs> 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>, @@ -2667,6 +2891,7 @@ C<PUSHs> and C<PUSHmortal>. Found in file pp.h =item XPUSHu +X<XPUSHu> 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 @@ -2680,6 +2905,7 @@ C<mPUSHu>. Found in file pp.h =item XSRETURN +X<XSRETURN> Return from XSUB, indicating number of items on the stack. This is usually handled by C<xsubpp>. @@ -2690,6 +2916,7 @@ handled by C<xsubpp>. Found in file XSUB.h =item XSRETURN_EMPTY +X<XSRETURN_EMPTY> Return an empty list from an XSUB immediately. @@ -2699,6 +2926,7 @@ Return an empty list from an XSUB immediately. Found in file XSUB.h =item XSRETURN_IV +X<XSRETURN_IV> Return an integer from an XSUB immediately. Uses C<XST_mIV>. @@ -2708,6 +2936,7 @@ Return an integer from an XSUB immediately. Uses C<XST_mIV>. Found in file XSUB.h =item XSRETURN_NO +X<XSRETURN_NO> Return C<&PL_sv_no> from an XSUB immediately. Uses C<XST_mNO>. @@ -2717,6 +2946,7 @@ Return C<&PL_sv_no> from an XSUB immediately. Uses C<XST_mNO>. Found in file XSUB.h =item XSRETURN_NV +X<XSRETURN_NV> Return a double from an XSUB immediately. Uses C<XST_mNV>. @@ -2726,6 +2956,7 @@ Return a double from an XSUB immediately. Uses C<XST_mNV>. Found in file XSUB.h =item XSRETURN_PV +X<XSRETURN_PV> Return a copy of a string from an XSUB immediately. Uses C<XST_mPV>. @@ -2735,6 +2966,7 @@ Return a copy of a string from an XSUB immediately. Uses C<XST_mPV>. Found in file XSUB.h =item XSRETURN_UNDEF +X<XSRETURN_UNDEF> Return C<&PL_sv_undef> from an XSUB immediately. Uses C<XST_mUNDEF>. @@ -2744,6 +2976,7 @@ Return C<&PL_sv_undef> from an XSUB immediately. Uses C<XST_mUNDEF>. Found in file XSUB.h =item XSRETURN_UV +X<XSRETURN_UV> Return an integer from an XSUB immediately. Uses C<XST_mUV>. @@ -2753,6 +2986,7 @@ Return an integer from an XSUB immediately. Uses C<XST_mUV>. Found in file XSUB.h =item XSRETURN_YES +X<XSRETURN_YES> Return C<&PL_sv_yes> from an XSUB immediately. Uses C<XST_mYES>. @@ -2762,6 +2996,7 @@ Return C<&PL_sv_yes> from an XSUB immediately. Uses C<XST_mYES>. Found in file XSUB.h =item XST_mIV +X<XST_mIV> Place an integer into the specified position C<pos> on the stack. The value is stored in a new mortal SV. @@ -2772,6 +3007,7 @@ value is stored in a new mortal SV. Found in file XSUB.h =item XST_mNO +X<XST_mNO> Place C<&PL_sv_no> into the specified position C<pos> on the stack. @@ -2782,6 +3018,7 @@ stack. Found in file XSUB.h =item XST_mNV +X<XST_mNV> Place a double into the specified position C<pos> on the stack. The value is stored in a new mortal SV. @@ -2792,6 +3029,7 @@ is stored in a new mortal SV. Found in file XSUB.h =item XST_mPV +X<XST_mPV> Place a copy of a string into the specified position C<pos> on the stack. The value is stored in a new mortal SV. @@ -2802,6 +3040,7 @@ The value is stored in a new mortal SV. Found in file XSUB.h =item XST_mUNDEF +X<XST_mUNDEF> Place C<&PL_sv_undef> into the specified position C<pos> on the stack. @@ -2812,6 +3051,7 @@ stack. Found in file XSUB.h =item XST_mYES +X<XST_mYES> Place C<&PL_sv_yes> into the specified position C<pos> on the stack. @@ -2829,6 +3069,7 @@ Found in file XSUB.h =over 8 =item svtype +X<svtype> An enum of flags for Perl types. These are found in the file B<sv.h> in the C<svtype> enum. Test these flags with the C<SvTYPE> macro. @@ -2837,6 +3078,7 @@ in the C<svtype> enum. Test these flags with the C<SvTYPE> macro. Found in file sv.h =item SVt_IV +X<SVt_IV> Integer type flag for scalars. See C<svtype>. @@ -2844,6 +3086,7 @@ Integer type flag for scalars. See C<svtype>. Found in file sv.h =item SVt_NV +X<SVt_NV> Double type flag for scalars. See C<svtype>. @@ -2851,6 +3094,7 @@ Double type flag for scalars. See C<svtype>. Found in file sv.h =item SVt_PV +X<SVt_PV> Pointer type flag for scalars. See C<svtype>. @@ -2858,6 +3102,7 @@ Pointer type flag for scalars. See C<svtype>. Found in file sv.h =item SVt_PVAV +X<SVt_PVAV> Type flag for arrays. See C<svtype>. @@ -2865,6 +3110,7 @@ Type flag for arrays. See C<svtype>. Found in file sv.h =item SVt_PVCV +X<SVt_PVCV> Type flag for code refs. See C<svtype>. @@ -2872,6 +3118,7 @@ Type flag for code refs. See C<svtype>. Found in file sv.h =item SVt_PVHV +X<SVt_PVHV> Type flag for hashes. See C<svtype>. @@ -2879,6 +3126,7 @@ Type flag for hashes. See C<svtype>. Found in file sv.h =item SVt_PVMG +X<SVt_PVMG> Type flag for blessed scalars. See C<svtype>. @@ -2893,6 +3141,7 @@ Found in file sv.h =over 8 =item get_sv +X<get_sv> Returns the SV of the specified Perl scalar. If C<create> is set and the Perl variable does not exist then it will be created. If C<create> is not @@ -2906,6 +3155,7 @@ NOTE: the perl_ form of this function is deprecated. Found in file perl.c =item looks_like_number +X<looks_like_number> Test if the content of an SV looks like a number (or is a number). C<Inf> and C<Infinity> are treated as numbers (so will not issue a @@ -2917,6 +3167,7 @@ non-numeric warning), even if your atof() doesn't grok them. Found in file sv.c =item newRV_inc +X<newRV_inc> Creates an RV wrapper for an SV. The reference count for the original SV is incremented. @@ -2927,6 +3178,7 @@ incremented. Found in file sv.h =item newRV_noinc +X<newRV_noinc> Creates an RV wrapper for an SV. The reference count for the original SV is B<not> incremented. @@ -2937,6 +3189,7 @@ SV is B<not> incremented. Found in file sv.c =item NEWSV +X<NEWSV> Creates a new SV. A non-zero C<len> parameter indicates the number of bytes of preallocated string space the SV should have. An extra byte for a @@ -2950,6 +3203,7 @@ C<id> is an integer id between 0 and 1299 (used to identify leaks). Found in file handy.h =item newSV +X<newSV> Create a new null SV, or if len > 0, create a new empty SVt_PV type SV with an initial PV allocation of len+1. Normally accessed via the C<NEWSV> @@ -2961,6 +3215,7 @@ macro. Found in file sv.c =item newSVhek +X<newSVhek> Creates a new SV from the hash key structure. It will generate scalars that point to the shared string table where possible. Returns a new (undefined) @@ -2972,6 +3227,7 @@ SV if the hek is NULL. Found in file sv.c =item newSViv +X<newSViv> Creates a new SV and copies an integer into it. The reference count for the SV is set to 1. @@ -2982,6 +3238,7 @@ SV is set to 1. Found in file sv.c =item newSVnv +X<newSVnv> Creates a new SV and copies a floating point value into it. The reference count for the SV is set to 1. @@ -2992,6 +3249,7 @@ The reference count for the SV is set to 1. Found in file sv.c =item newSVpv +X<newSVpv> Creates a new SV and copies a string into it. The reference count for the SV is set to 1. If C<len> is zero, Perl will compute the length using @@ -3003,6 +3261,7 @@ strlen(). For efficiency, consider using C<newSVpvn> instead. Found in file sv.c =item newSVpvf +X<newSVpvf> Creates a new SV and initializes it with the string formatted like C<sprintf>. @@ -3013,6 +3272,7 @@ C<sprintf>. Found in file sv.c =item newSVpvn +X<newSVpvn> Creates a new SV and copies a string into it. The reference count for the SV is set to 1. Note that if C<len> is zero, Perl will create a zero length @@ -3025,6 +3285,7 @@ C<len> bytes long. If the C<s> argument is NULL the new SV will be undefined. Found in file sv.c =item newSVpvn_share +X<newSVpvn_share> Creates a new SV with its SvPVX_const pointing to a shared string in the string table. If the string does not already exist in the table, it is created @@ -3040,6 +3301,7 @@ hash lookup will avoid string compare. Found in file sv.c =item newSVrv +X<newSVrv> Creates a new SV for the RV, C<rv>, to point to. If C<rv> is not an RV then it will be upgraded to one. If C<classname> is non-null then the new SV will @@ -3052,6 +3314,7 @@ reference count is 1. Found in file sv.c =item newSVsv +X<newSVsv> Creates a new SV which is an exact duplicate of the original SV. (Uses C<sv_setsv>). @@ -3062,6 +3325,7 @@ Creates a new SV which is an exact duplicate of the original SV. Found in file sv.c =item newSVuv +X<newSVuv> Creates a new SV and copies an unsigned integer into it. The reference count for the SV is set to 1. @@ -3072,6 +3336,7 @@ The reference count for the SV is set to 1. Found in file sv.c =item SvCUR +X<SvCUR> Returns the length of the string which is in the SV. See C<SvLEN>. @@ -3081,6 +3346,7 @@ Returns the length of the string which is in the SV. See C<SvLEN>. Found in file sv.h =item SvCUR_set +X<SvCUR_set> Set the current length of the string which is in the SV. See C<SvCUR> and C<SvIV_set>. @@ -3091,6 +3357,7 @@ and C<SvIV_set>. Found in file sv.h =item SvEND +X<SvEND> Returns a pointer to the last character in the string which is in the SV. See C<SvCUR>. Access the character as *(SvEND(sv)). @@ -3101,6 +3368,7 @@ See C<SvCUR>. Access the character as *(SvEND(sv)). Found in file sv.h =item SvGROW +X<SvGROW> Expands the character buffer in the SV so that it has room for the indicated number of bytes (remember to reserve space for an extra trailing @@ -3113,6 +3381,7 @@ Returns a pointer to the character buffer. Found in file sv.h =item SvIOK +X<SvIOK> Returns a boolean indicating whether the SV contains an integer. @@ -3122,6 +3391,7 @@ Returns a boolean indicating whether the SV contains an integer. Found in file sv.h =item SvIOKp +X<SvIOKp> Returns a boolean indicating whether the SV contains an integer. Checks the B<private> setting. Use C<SvIOK>. @@ -3132,6 +3402,7 @@ the B<private> setting. Use C<SvIOK>. Found in file sv.h =item SvIOK_notUV +X<SvIOK_notUV> Returns a boolean indicating whether the SV contains a signed integer. @@ -3141,6 +3412,7 @@ Returns a boolean indicating whether the SV contains a signed integer. Found in file sv.h =item SvIOK_off +X<SvIOK_off> Unsets the IV status of an SV. @@ -3150,6 +3422,7 @@ Unsets the IV status of an SV. Found in file sv.h =item SvIOK_on +X<SvIOK_on> Tells an SV that it is an integer. @@ -3159,6 +3432,7 @@ Tells an SV that it is an integer. Found in file sv.h =item SvIOK_only +X<SvIOK_only> Tells an SV that it is an integer and disables all other OK bits. @@ -3168,6 +3442,7 @@ Tells an SV that it is an integer and disables all other OK bits. Found in file sv.h =item SvIOK_only_UV +X<SvIOK_only_UV> Tells and SV that it is an unsigned integer and disables all other OK bits. @@ -3177,6 +3452,7 @@ Tells and SV that it is an unsigned integer and disables all other OK bits. Found in file sv.h =item SvIOK_UV +X<SvIOK_UV> Returns a boolean indicating whether the SV contains an unsigned integer. @@ -3186,6 +3462,7 @@ Returns a boolean indicating whether the SV contains an unsigned integer. Found in file sv.h =item SvIsCOW +X<SvIsCOW> Returns a boolean indicating whether the SV is Copy-On-Write. (either shared hash key scalars, or full Copy On Write scalars if 5.9.0 is configured for @@ -3197,6 +3474,7 @@ COW) Found in file sv.h =item SvIsCOW_shared_hash +X<SvIsCOW_shared_hash> Returns a boolean indicating whether the SV is Copy-On-Write shared hash key scalar. @@ -3207,6 +3485,7 @@ scalar. Found in file sv.h =item SvIV +X<SvIV> Coerces the given SV to an integer and returns it. See C<SvIVx> for a version which guarantees to evaluate sv only once. @@ -3217,6 +3496,7 @@ version which guarantees to evaluate sv only once. Found in file sv.h =item SvIVX +X<SvIVX> 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()>. @@ -3227,6 +3507,7 @@ Only use when you are sure SvIOK is true. See also C<SvIV()>. Found in file sv.h =item SvIVx +X<SvIVx> Coerces the given SV to an integer and returns it. Guarantees to evaluate sv only once. Use the more efficient C<SvIV> otherwise. @@ -3237,6 +3518,7 @@ sv only once. Use the more efficient C<SvIV> otherwise. Found in file sv.h =item SvIV_nomg +X<SvIV_nomg> Like C<SvIV> but doesn't process magic. @@ -3246,6 +3528,7 @@ Like C<SvIV> but doesn't process magic. Found in file sv.h =item SvIV_set +X<SvIV_set> Set the value of the IV pointer in sv to val. It is possible to perform the same function of this macro with an lvalue assignment to C<SvIVX>. @@ -3258,6 +3541,7 @@ C<SvIV_set> instead of the lvalue assignment to C<SvIVX>. Found in file sv.h =item SvLEN +X<SvLEN> Returns the size of the string buffer in the SV, not including any part attributable to C<SvOOK>. See C<SvCUR>. @@ -3268,6 +3552,7 @@ attributable to C<SvOOK>. See C<SvCUR>. Found in file sv.h =item SvLEN_set +X<SvLEN_set> Set the actual length of the string which is in the SV. See C<SvIV_set>. @@ -3277,6 +3562,7 @@ Set the actual length of the string which is in the SV. See C<SvIV_set>. Found in file sv.h =item SvMAGIC_set +X<SvMAGIC_set> Set the value of the MAGIC pointer in sv to val. See C<SvIV_set>. @@ -3286,6 +3572,7 @@ Set the value of the MAGIC pointer in sv to val. See C<SvIV_set>. Found in file sv.h =item SvNIOK +X<SvNIOK> Returns a boolean indicating whether the SV contains a number, integer or double. @@ -3296,6 +3583,7 @@ double. Found in file sv.h =item SvNIOKp +X<SvNIOKp> Returns a boolean indicating whether the SV contains a number, integer or double. Checks the B<private> setting. Use C<SvNIOK>. @@ -3306,6 +3594,7 @@ double. Checks the B<private> setting. Use C<SvNIOK>. Found in file sv.h =item SvNIOK_off +X<SvNIOK_off> Unsets the NV/IV status of an SV. @@ -3315,6 +3604,7 @@ Unsets the NV/IV status of an SV. Found in file sv.h =item SvNOK +X<SvNOK> Returns a boolean indicating whether the SV contains a double. @@ -3324,6 +3614,7 @@ Returns a boolean indicating whether the SV contains a double. Found in file sv.h =item SvNOKp +X<SvNOKp> Returns a boolean indicating whether the SV contains a double. Checks the B<private> setting. Use C<SvNOK>. @@ -3334,6 +3625,7 @@ B<private> setting. Use C<SvNOK>. Found in file sv.h =item SvNOK_off +X<SvNOK_off> Unsets the NV status of an SV. @@ -3343,6 +3635,7 @@ Unsets the NV status of an SV. Found in file sv.h =item SvNOK_on +X<SvNOK_on> Tells an SV that it is a double. @@ -3352,6 +3645,7 @@ Tells an SV that it is a double. Found in file sv.h =item SvNOK_only +X<SvNOK_only> Tells an SV that it is a double and disables all other OK bits. @@ -3361,6 +3655,7 @@ Tells an SV that it is a double and disables all other OK bits. Found in file sv.h =item SvNV +X<SvNV> Coerce the given SV to a double and return it. See C<SvNVx> for a version which guarantees to evaluate sv only once. @@ -3371,6 +3666,7 @@ which guarantees to evaluate sv only once. Found in file sv.h =item SvNVX +X<SvNVX> 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()>. @@ -3381,6 +3677,7 @@ Only use when you are sure SvNOK is true. See also C<SvNV()>. Found in file sv.h =item SvNVx +X<SvNVx> Coerces the given SV to a double and returns it. Guarantees to evaluate sv only once. Use the more efficient C<SvNV> otherwise. @@ -3391,6 +3688,7 @@ sv only once. Use the more efficient C<SvNV> otherwise. Found in file sv.h =item SvNV_set +X<SvNV_set> Set the value of the NV pointer in sv to val. See C<SvIV_set>. @@ -3400,6 +3698,7 @@ Set the value of the NV pointer in sv to val. See C<SvIV_set>. Found in file sv.h =item SvOK +X<SvOK> Returns a boolean indicating whether the value is an SV. It also tells whether the value is defined or not. @@ -3410,6 +3709,7 @@ whether the value is defined or not. Found in file sv.h =item SvOOK +X<SvOOK> Returns a boolean indicating whether the SvIVX is a valid offset value for the SvPVX. This hack is used internally to speed up removal of characters @@ -3422,6 +3722,7 @@ allocated string buffer is really (SvPVX - SvIVX). Found in file sv.h =item SvPOK +X<SvPOK> Returns a boolean indicating whether the SV contains a character string. @@ -3432,6 +3733,7 @@ string. Found in file sv.h =item SvPOKp +X<SvPOKp> Returns a boolean indicating whether the SV contains a character string. Checks the B<private> setting. Use C<SvPOK>. @@ -3442,6 +3744,7 @@ Checks the B<private> setting. Use C<SvPOK>. Found in file sv.h =item SvPOK_off +X<SvPOK_off> Unsets the PV status of an SV. @@ -3451,6 +3754,7 @@ Unsets the PV status of an SV. Found in file sv.h =item SvPOK_on +X<SvPOK_on> Tells an SV that it is a string. @@ -3460,6 +3764,7 @@ Tells an SV that it is a string. Found in file sv.h =item SvPOK_only +X<SvPOK_only> Tells an SV that it is a string and disables all other OK bits. Will also turn off the UTF-8 status. @@ -3470,6 +3775,7 @@ Will also turn off the UTF-8 status. Found in file sv.h =item SvPOK_only_UTF8 +X<SvPOK_only_UTF8> Tells an SV that it is a string and disables all other OK bits, and leaves the UTF-8 status as it was. @@ -3480,6 +3786,7 @@ and leaves the UTF-8 status as it was. Found in file sv.h =item SvPV +X<SvPV> 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 @@ -3492,6 +3799,7 @@ C<SvPVx> for a version which guarantees to evaluate sv only once. Found in file sv.h =item SvPVbyte +X<SvPVbyte> Like C<SvPV>, but converts sv to byte representation first if necessary. @@ -3501,6 +3809,7 @@ Like C<SvPV>, but converts sv to byte representation first if necessary. Found in file sv.h =item SvPVbytex +X<SvPVbytex> Like C<SvPV>, but converts sv to byte representation first if necessary. Guarantees to evaluate sv only once; use the more efficient C<SvPVbyte> @@ -3512,6 +3821,7 @@ otherwise. Found in file sv.h =item SvPVbytex_force +X<SvPVbytex_force> Like C<SvPV_force>, but converts sv to byte representation first if necessary. Guarantees to evaluate sv only once; use the more efficient C<SvPVbyte_force> @@ -3523,6 +3833,7 @@ otherwise. Found in file sv.h =item SvPVbyte_force +X<SvPVbyte_force> Like C<SvPV_force>, but converts sv to byte representation first if necessary. @@ -3532,6 +3843,7 @@ Like C<SvPV_force>, but converts sv to byte representation first if necessary. Found in file sv.h =item SvPVbyte_nolen +X<SvPVbyte_nolen> Like C<SvPV_nolen>, but converts sv to byte representation first if necessary. @@ -3541,6 +3853,7 @@ Like C<SvPV_nolen>, but converts sv to byte representation first if necessary. Found in file sv.h =item SvPVutf8 +X<SvPVutf8> Like C<SvPV>, but converts sv to utf8 first if necessary. @@ -3550,6 +3863,7 @@ Like C<SvPV>, but converts sv to utf8 first if necessary. Found in file sv.h =item SvPVutf8x +X<SvPVutf8x> Like C<SvPV>, but converts sv to utf8 first if necessary. Guarantees to evaluate sv only once; use the more efficient C<SvPVutf8> @@ -3561,6 +3875,7 @@ otherwise. Found in file sv.h =item SvPVutf8x_force +X<SvPVutf8x_force> Like C<SvPV_force>, but converts sv to utf8 first if necessary. Guarantees to evaluate sv only once; use the more efficient C<SvPVutf8_force> @@ -3572,6 +3887,7 @@ otherwise. Found in file sv.h =item SvPVutf8_force +X<SvPVutf8_force> Like C<SvPV_force>, but converts sv to utf8 first if necessary. @@ -3581,6 +3897,7 @@ Like C<SvPV_force>, but converts sv to utf8 first if necessary. Found in file sv.h =item SvPVutf8_nolen +X<SvPVutf8_nolen> Like C<SvPV_nolen>, but converts sv to utf8 first if necessary. @@ -3590,6 +3907,7 @@ Like C<SvPV_nolen>, but converts sv to utf8 first if necessary. Found in file sv.h =item SvPVX +X<SvPVX> Returns a pointer to the physical string in the SV. The SV must contain a string. @@ -3600,6 +3918,7 @@ string. Found in file sv.h =item SvPVx +X<SvPVx> A version of C<SvPV> which guarantees to evaluate sv only once. @@ -3609,6 +3928,7 @@ A version of C<SvPV> which guarantees to evaluate sv only once. Found in file sv.h =item SvPV_force +X<SvPV_force> Like C<SvPV> but will force the SV into containing just a string (C<SvPOK_only>). You want force if you are going to update the C<SvPVX> @@ -3620,6 +3940,7 @@ directly. Found in file sv.h =item SvPV_force_nomg +X<SvPV_force_nomg> Like C<SvPV> but will force the SV into containing just a string (C<SvPOK_only>). You want force if you are going to update the C<SvPVX> @@ -3631,6 +3952,7 @@ directly. Doesn't process magic. Found in file sv.h =item SvPV_nolen +X<SvPV_nolen> 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 @@ -3642,6 +3964,7 @@ stringified form becoming C<SvPOK>. Handles 'get' magic. Found in file sv.h =item SvPV_nomg +X<SvPV_nomg> Like C<SvPV> but doesn't process magic. @@ -3651,6 +3974,7 @@ Like C<SvPV> but doesn't process magic. Found in file sv.h =item SvPV_set +X<SvPV_set> Set the value of the PV pointer in sv to val. See C<SvIV_set>. @@ -3660,6 +3984,7 @@ Set the value of the PV pointer in sv to val. See C<SvIV_set>. Found in file sv.h =item SvREFCNT +X<SvREFCNT> Returns the value of the object's reference count. @@ -3669,6 +3994,7 @@ Returns the value of the object's reference count. Found in file sv.h =item SvREFCNT_dec +X<SvREFCNT_dec> Decrements the reference count of the given SV. @@ -3678,6 +4004,7 @@ Decrements the reference count of the given SV. Found in file sv.h =item SvREFCNT_inc +X<SvREFCNT_inc> Increments the reference count of the given SV. @@ -3687,6 +4014,7 @@ Increments the reference count of the given SV. Found in file sv.h =item SvROK +X<SvROK> Tests if the SV is an RV. @@ -3696,6 +4024,7 @@ Tests if the SV is an RV. Found in file sv.h =item SvROK_off +X<SvROK_off> Unsets the RV status of an SV. @@ -3705,6 +4034,7 @@ Unsets the RV status of an SV. Found in file sv.h =item SvROK_on +X<SvROK_on> Tells an SV that it is an RV. @@ -3714,6 +4044,7 @@ Tells an SV that it is an RV. Found in file sv.h =item SvRV +X<SvRV> Dereferences an RV to return the SV. @@ -3723,6 +4054,7 @@ Dereferences an RV to return the SV. Found in file sv.h =item SvRV_set +X<SvRV_set> Set the value of the RV pointer in sv to val. See C<SvIV_set>. @@ -3732,6 +4064,7 @@ Set the value of the RV pointer in sv to val. See C<SvIV_set>. Found in file sv.h =item SvSTASH +X<SvSTASH> Returns the stash of the SV. @@ -3741,6 +4074,7 @@ Returns the stash of the SV. Found in file sv.h =item SvSTASH_set +X<SvSTASH_set> Set the value of the STASH pointer in sv to val. See C<SvIV_set>. @@ -3750,6 +4084,7 @@ Set the value of the STASH pointer in sv to val. See C<SvIV_set>. Found in file sv.h =item SvTAINT +X<SvTAINT> Taints an SV if tainting is enabled. @@ -3759,6 +4094,7 @@ Taints an SV if tainting is enabled. Found in file sv.h =item SvTAINTED +X<SvTAINTED> Checks to see if an SV is tainted. Returns TRUE if it is, FALSE if not. @@ -3769,6 +4105,7 @@ not. Found in file sv.h =item SvTAINTED_off +X<SvTAINTED_off> Untaints an SV. Be I<very> careful with this routine, as it short-circuits some of Perl's fundamental security features. XS module authors should not @@ -3783,6 +4120,7 @@ untainting variables. Found in file sv.h =item SvTAINTED_on +X<SvTAINTED_on> Marks an SV as tainted if tainting is enabled. @@ -3792,6 +4130,7 @@ Marks an SV as tainted if tainting is enabled. Found in file sv.h =item SvTRUE +X<SvTRUE> Returns a boolean indicating whether Perl would evaluate the SV as true or false, defined or undefined. Does not handle 'get' magic. @@ -3802,6 +4141,7 @@ false, defined or undefined. Does not handle 'get' magic. Found in file sv.h =item SvTYPE +X<SvTYPE> Returns the type of the SV. See C<svtype>. @@ -3811,6 +4151,7 @@ Returns the type of the SV. See C<svtype>. Found in file sv.h =item SvUOK +X<SvUOK> Returns a boolean indicating whether the SV contains an unsigned integer. @@ -3820,6 +4161,7 @@ Returns a boolean indicating whether the SV contains an unsigned integer. Found in file sv.h =item SvUPGRADE +X<SvUPGRADE> Used to upgrade an SV to a more complex form. Uses C<sv_upgrade> to perform the upgrade if necessary. See C<svtype>. @@ -3830,6 +4172,7 @@ perform the upgrade if necessary. See C<svtype>. Found in file sv.h =item SvUTF8 +X<SvUTF8> Returns a boolean indicating whether the SV contains UTF-8 encoded data. @@ -3839,6 +4182,7 @@ Returns a boolean indicating whether the SV contains UTF-8 encoded data. Found in file sv.h =item SvUTF8_off +X<SvUTF8_off> Unsets the UTF-8 status of an SV. @@ -3848,6 +4192,7 @@ Unsets the UTF-8 status of an SV. Found in file sv.h =item SvUTF8_on +X<SvUTF8_on> Turn on the UTF-8 status of an SV (the data is not changed, just the flag). Do not use frivolously. @@ -3858,6 +4203,7 @@ Do not use frivolously. Found in file sv.h =item SvUV +X<SvUV> Coerces the given SV to an unsigned integer and returns it. See C<SvUVx> for a version which guarantees to evaluate sv only once. @@ -3868,6 +4214,7 @@ for a version which guarantees to evaluate sv only once. Found in file sv.h =item SvUVX +X<SvUVX> 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()>. @@ -3878,6 +4225,7 @@ Only use when you are sure SvIOK is true. See also C<SvUV()>. Found in file sv.h =item SvUVx +X<SvUVx> Coerces the given SV to an unsigned integer and returns it. Guarantees to evaluate sv only once. Use the more efficient C<SvUV> otherwise. @@ -3888,6 +4236,7 @@ evaluate sv only once. Use the more efficient C<SvUV> otherwise. Found in file sv.h =item SvUV_nomg +X<SvUV_nomg> Like C<SvUV> but doesn't process magic. @@ -3897,6 +4246,7 @@ Like C<SvUV> but doesn't process magic. Found in file sv.h =item SvUV_set +X<SvUV_set> Set the value of the UV pointer in sv to val. See C<SvIV_set>. @@ -3906,6 +4256,7 @@ Set the value of the UV pointer in sv to val. See C<SvIV_set>. Found in file sv.h =item SvVOK +X<SvVOK> Returns a boolean indicating whether the SV contains a v-string. @@ -3915,6 +4266,7 @@ Returns a boolean indicating whether the SV contains a v-string. Found in file sv.h =item sv_2bool +X<sv_2bool> This function is only called on magical items, and is only used by sv_true() or its macro equivalent. @@ -3925,6 +4277,7 @@ sv_true() or its macro equivalent. Found in file sv.c =item sv_2cv +X<sv_2cv> Using various gambits, try to get a CV from an SV; in addition, try if possible to set C<*st> and C<*gvp> to the stash and GV associated with it. @@ -3935,6 +4288,7 @@ possible to set C<*st> and C<*gvp> to the stash and GV associated with it. Found in file sv.c =item sv_2io +X<sv_2io> Using various gambits, try to get an IO from an SV: the IO slot if its a GV; or the recursive result if we're an RV; or the IO slot of the symbol @@ -3946,6 +4300,7 @@ named after the PV if we're a string. Found in file sv.c =item sv_2iv_flags +X<sv_2iv_flags> Return the integer value of an SV, doing any necessary string conversion. If flags includes SV_GMAGIC, does an mg_get() first. @@ -3957,6 +4312,7 @@ Normally used via the C<SvIV(sv)> and C<SvIVx(sv)> macros. Found in file sv.c =item sv_2mortal +X<sv_2mortal> 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 @@ -3970,6 +4326,7 @@ and C<sv_mortalcopy>. Found in file sv.c =item sv_2nv +X<sv_2nv> Return the num value of an SV, doing any necessary string or integer conversion, magic etc. Normally used via the C<SvNV(sv)> and C<SvNVx(sv)> @@ -3981,6 +4338,7 @@ macros. Found in file sv.c =item sv_2pvbyte +X<sv_2pvbyte> Return a pointer to the byte-encoded representation of the SV, and set *lp to its length. May cause the SV to be downgraded from UTF-8 as a @@ -3994,6 +4352,7 @@ Usually accessed via the C<SvPVbyte> macro. Found in file sv.c =item sv_2pvbyte_nolen +X<sv_2pvbyte_nolen> Return a pointer to the byte-encoded representation of the SV. May cause the SV to be downgraded from UTF-8 as a side-effect. @@ -4006,6 +4365,7 @@ Usually accessed via the C<SvPVbyte_nolen> macro. Found in file sv.c =item sv_2pvutf8 +X<sv_2pvutf8> Return a pointer to the UTF-8-encoded representation of the SV, and set *lp to its length. May cause the SV to be upgraded to UTF-8 as a side-effect. @@ -4018,6 +4378,7 @@ Usually accessed via the C<SvPVutf8> macro. Found in file sv.c =item sv_2pvutf8_nolen +X<sv_2pvutf8_nolen> Return a pointer to the UTF-8-encoded representation of the SV. May cause the SV to be upgraded to UTF-8 as a side-effect. @@ -4030,6 +4391,7 @@ Usually accessed via the C<SvPVutf8_nolen> macro. Found in file sv.c =item sv_2pv_flags +X<sv_2pv_flags> Returns a pointer to the string value of an SV, and sets *lp to its length. If flags includes SV_GMAGIC, does an mg_get() first. Coerces sv to a string @@ -4043,6 +4405,7 @@ usually end up here too. Found in file sv.c =item sv_2pv_nolen +X<sv_2pv_nolen> Like C<sv_2pv()>, but doesn't return the length too. You should usually use the macro wrapper C<SvPV_nolen(sv)> instead. @@ -4052,6 +4415,7 @@ use the macro wrapper C<SvPV_nolen(sv)> instead. Found in file sv.c =item sv_2uv_flags +X<sv_2uv_flags> Return the unsigned integer value of an SV, doing any necessary string conversion. If flags includes SV_GMAGIC, does an mg_get() first. @@ -4063,6 +4427,7 @@ Normally used via the C<SvUV(sv)> and C<SvUVx(sv)> macros. Found in file sv.c =item sv_backoff +X<sv_backoff> Remove any string offset. You should normally use the C<SvOOK_off> macro wrapper instead. @@ -4073,6 +4438,7 @@ wrapper instead. Found in file sv.c =item sv_bless +X<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 @@ -4084,6 +4450,7 @@ of the SV is unaffected. Found in file sv.c =item sv_catpv +X<sv_catpv> Concatenates the 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 @@ -4095,6 +4462,7 @@ valid UTF-8. Handles 'get' magic, but not 'set' magic. See C<sv_catpv_mg>. Found in file sv.c =item sv_catpvf +X<sv_catpvf> Processes its arguments like C<sprintf> and appends the formatted output to an SV. If the appended data contains "wide" characters @@ -4110,6 +4478,7 @@ valid UTF-8; if the original SV was bytes, the pattern should be too. Found in file sv.c =item sv_catpvf_mg +X<sv_catpvf_mg> Like C<sv_catpvf>, but also handles 'set' magic. @@ -4119,6 +4488,7 @@ Like C<sv_catpvf>, but also handles 'set' magic. Found in file sv.c =item sv_catpvn +X<sv_catpvn> 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 @@ -4131,6 +4501,7 @@ Handles 'get' magic, but not 'set' magic. See C<sv_catpvn_mg>. Found in file sv.c =item sv_catpvn_flags +X<sv_catpvn_flags> 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 @@ -4145,6 +4516,7 @@ in terms of this function. Found in file sv.c =item sv_catpvn_mg +X<sv_catpvn_mg> Like C<sv_catpvn>, but also handles 'set' magic. @@ -4154,6 +4526,7 @@ Like C<sv_catpvn>, but also handles 'set' magic. Found in file sv.c =item sv_catpvn_nomg +X<sv_catpvn_nomg> Like C<sv_catpvn> but doesn't process magic. @@ -4163,6 +4536,7 @@ Like C<sv_catpvn> but doesn't process magic. Found in file sv.h =item sv_catpv_mg +X<sv_catpv_mg> Like C<sv_catpv>, but also handles 'set' magic. @@ -4172,6 +4546,7 @@ Like C<sv_catpv>, but also handles 'set' magic. Found in file sv.c =item sv_catsv +X<sv_catsv> Concatenates the string from SV C<ssv> onto the end of the string in SV C<dsv>. Modifies C<dsv> but not C<ssv>. Handles 'get' magic, but @@ -4183,6 +4558,7 @@ not 'set' magic. See C<sv_catsv_mg>. Found in file sv.c =item sv_catsv_flags +X<sv_catsv_flags> Concatenates the string from SV C<ssv> onto the end of the string in SV C<dsv>. Modifies C<dsv> but not C<ssv>. If C<flags> has C<SV_GMAGIC> @@ -4195,6 +4571,7 @@ and C<sv_catsv_nomg> are implemented in terms of this function. Found in file sv.c =item sv_catsv_mg +X<sv_catsv_mg> Like C<sv_catsv>, but also handles 'set' magic. @@ -4204,6 +4581,7 @@ Like C<sv_catsv>, but also handles 'set' magic. Found in file sv.c =item sv_catsv_nomg +X<sv_catsv_nomg> Like C<sv_catsv> but doesn't process magic. @@ -4213,6 +4591,7 @@ Like C<sv_catsv> but doesn't process magic. Found in file sv.h =item sv_chop +X<sv_chop> Efficient removal of characters from the beginning of the string buffer. SvPOK(sv) must be true and the C<ptr> must be a pointer to somewhere inside @@ -4227,6 +4606,7 @@ refer to the same chunk of data. Found in file sv.c =item sv_clear +X<sv_clear> Clear an SV: call any destructors, free up any memory used by the body, and free the body itself. The SV's head is I<not> freed, although @@ -4242,6 +4622,7 @@ instead. Found in file sv.c =item sv_cmp +X<sv_cmp> 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 @@ -4254,6 +4635,7 @@ coerce its args to strings if necessary. See also C<sv_cmp_locale>. Found in file sv.c =item sv_cmp_locale +X<sv_cmp_locale> 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 @@ -4265,6 +4647,7 @@ if necessary. See also C<sv_cmp_locale>. See also C<sv_cmp>. Found in file sv.c =item sv_collxfrm +X<sv_collxfrm> Add Collate Transform magic to an SV if it doesn't already have it. @@ -4279,6 +4662,7 @@ settings. Found in file sv.c =item sv_copypv +X<sv_copypv> Copies a stringified representation of the source SV into the destination SV. Automatically performs any necessary mg_get and @@ -4294,6 +4678,7 @@ would lose the UTF-8'ness of the PV. Found in file sv.c =item sv_dec +X<sv_dec> Auto-decrement of the value in the SV, doing string to numeric conversion if necessary. Handles 'get' magic. @@ -4304,6 +4689,7 @@ if necessary. Handles 'get' magic. Found in file sv.c =item sv_derived_from +X<sv_derived_from> Returns a boolean indicating whether the SV is derived from the specified class. This is the function that implements C<UNIVERSAL::isa>. It works @@ -4315,6 +4701,7 @@ for class names as well as for objects. Found in file universal.c =item sv_eq +X<sv_eq> Returns a boolean indicating whether the strings in the two SVs are identical. Is UTF-8 and 'use bytes' aware, handles get magic, and will @@ -4326,6 +4713,7 @@ coerce its args to strings if necessary. Found in file sv.c =item sv_force_normal +X<sv_force_normal> 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 @@ -4337,6 +4725,7 @@ an xpvmg. See also C<sv_force_normal_flags>. Found in file sv.c =item sv_force_normal_flags +X<sv_force_normal_flags> 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 @@ -4354,6 +4743,7 @@ with flags set to 0. Found in file sv.c =item sv_free +X<sv_free> Decrement an SV's reference count, and if it drops to zero, call C<sv_clear> to invoke destructors and free up any memory used by @@ -4366,6 +4756,7 @@ Normally called via a wrapper macro C<SvREFCNT_dec>. Found in file sv.c =item sv_gets +X<sv_gets> Get a line from the filehandle and store it into the SV, optionally appending to the currently-stored string. @@ -4376,6 +4767,7 @@ appending to the currently-stored string. Found in file sv.c =item sv_grow +X<sv_grow> Expands the character buffer in the SV. If necessary, uses C<sv_unref> and upgrades the SV to C<SVt_PV>. Returns a pointer to the character buffer. @@ -4387,6 +4779,7 @@ Use the C<SvGROW> wrapper instead. Found in file sv.c =item sv_inc +X<sv_inc> Auto-increment of the value in the SV, doing string to numeric conversion if necessary. Handles 'get' magic. @@ -4397,6 +4790,7 @@ if necessary. Handles 'get' magic. Found in file sv.c =item sv_insert +X<sv_insert> Inserts a string at the specified offset/length within the SV. Similar to the Perl substr() function. @@ -4407,6 +4801,7 @@ the Perl substr() function. Found in file sv.c =item sv_isa +X<sv_isa> Returns a boolean indicating whether the SV is blessed into the specified class. This does not check for subtypes; use C<sv_derived_from> to verify @@ -4418,6 +4813,7 @@ an inheritance relationship. Found in file sv.c =item sv_isobject +X<sv_isobject> Returns a boolean indicating whether the SV is an RV pointing to a blessed object. If the SV is not an RV, or if the object is not blessed, then this @@ -4429,6 +4825,7 @@ will return false. Found in file sv.c =item sv_iv +X<sv_iv> A private implementation of the C<SvIVx> macro for compilers which can't cope with complex macro expressions. Always use the macro instead. @@ -4439,6 +4836,7 @@ cope with complex macro expressions. Always use the macro instead. Found in file sv.c =item sv_len +X<sv_len> Returns the length of the string in the SV. Handles magic and type coercion. See also C<SvCUR>, which gives raw access to the xpv_cur slot. @@ -4449,6 +4847,7 @@ coercion. See also C<SvCUR>, which gives raw access to the xpv_cur slot. Found in file sv.c =item sv_len_utf8 +X<sv_len_utf8> Returns the number of characters in the string in an SV, counting wide UTF-8 bytes as a single character. Handles magic and type coercion. @@ -4459,6 +4858,7 @@ UTF-8 bytes as a single character. Handles magic and type coercion. Found in file sv.c =item sv_magic +X<sv_magic> 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. @@ -4475,6 +4875,7 @@ to add more than one instance of the same 'how'. Found in file sv.c =item sv_magicext +X<sv_magicext> Adds magic to an SV, upgrading it if necessary. Applies the supplied vtable and returns a pointer to the magic added. @@ -4496,6 +4897,7 @@ to contain an C<SV*> and is stored as-is with its REFCNT incremented. Found in file sv.c =item sv_mortalcopy +X<sv_mortalcopy> 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 @@ -4508,6 +4910,7 @@ statement boundaries. See also C<sv_newmortal> and C<sv_2mortal>. Found in file sv.c =item sv_newmortal +X<sv_newmortal> 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 @@ -4520,6 +4923,7 @@ See also C<sv_mortalcopy> and C<sv_2mortal>. Found in file sv.c =item sv_newref +X<sv_newref> Increment an SV's reference count. Use the C<SvREFCNT_inc()> wrapper instead. @@ -4530,6 +4934,7 @@ instead. Found in file sv.c =item sv_nv +X<sv_nv> A private implementation of the C<SvNVx> macro for compilers which can't cope with complex macro expressions. Always use the macro instead. @@ -4540,6 +4945,7 @@ cope with complex macro expressions. Always use the macro instead. Found in file sv.c =item sv_pos_b2u +X<sv_pos_b2u> Converts the value pointed to by offsetp from a count of bytes from the start of the string, to a count of the equivalent number of UTF-8 chars. @@ -4551,6 +4957,7 @@ Handles magic and type coercion. Found in file sv.c =item sv_pos_u2b +X<sv_pos_u2b> Converts the value pointed to by offsetp from a count of UTF-8 chars from the start of the string, to a count of the equivalent number of bytes; if @@ -4564,6 +4971,7 @@ type coercion. Found in file sv.c =item sv_pv +X<sv_pv> Use the C<SvPV_nolen> macro instead @@ -4573,6 +4981,7 @@ Use the C<SvPV_nolen> macro instead Found in file sv.c =item sv_pvbyte +X<sv_pvbyte> Use C<SvPVbyte_nolen> instead. @@ -4582,6 +4991,7 @@ Use C<SvPVbyte_nolen> instead. Found in file sv.c =item sv_pvbyten +X<sv_pvbyten> A private implementation of the C<SvPVbyte> macro for compilers which can't cope with complex macro expressions. Always use the macro @@ -4593,6 +5003,7 @@ instead. Found in file sv.c =item sv_pvbyten_force +X<sv_pvbyten_force> A private implementation of the C<SvPVbytex_force> macro for compilers which can't cope with complex macro expressions. Always use the macro @@ -4604,6 +5015,7 @@ instead. Found in file sv.c =item sv_pvn +X<sv_pvn> A private implementation of the C<SvPV> macro for compilers which can't cope with complex macro expressions. Always use the macro instead. @@ -4614,6 +5026,7 @@ cope with complex macro expressions. Always use the macro instead. Found in file sv.c =item sv_pvn_force +X<sv_pvn_force> Get a sensible string out of the SV somehow. A private implementation of the C<SvPV_force> macro for compilers which @@ -4625,6 +5038,7 @@ can't cope with complex macro expressions. Always use the macro instead. Found in file sv.c =item sv_pvn_force_flags +X<sv_pvn_force_flags> Get a sensible string out of the SV somehow. If C<flags> has C<SV_GMAGIC> bit set, will C<mg_get> on C<sv> if @@ -4639,6 +5053,7 @@ C<SvPV_force> and C<SvPV_force_nomg> Found in file sv.c =item sv_pvutf8 +X<sv_pvutf8> Use the C<SvPVutf8_nolen> macro instead @@ -4648,6 +5063,7 @@ Use the C<SvPVutf8_nolen> macro instead Found in file sv.c =item sv_pvutf8n +X<sv_pvutf8n> A private implementation of the C<SvPVutf8> macro for compilers which can't cope with complex macro expressions. Always use the macro @@ -4659,6 +5075,7 @@ instead. Found in file sv.c =item sv_pvutf8n_force +X<sv_pvutf8n_force> A private implementation of the C<SvPVutf8_force> macro for compilers which can't cope with complex macro expressions. Always use the macro @@ -4670,6 +5087,7 @@ instead. Found in file sv.c =item sv_reftype +X<sv_reftype> Returns a string describing what the SV is a reference to. @@ -4679,6 +5097,7 @@ Returns a string describing what the SV is a reference to. Found in file sv.c =item sv_replace +X<sv_replace> Make the first argument a copy of the second, then delete the original. The target SV physically takes over ownership of the body of the source SV @@ -4693,6 +5112,7 @@ time you'll want to use C<sv_setsv> or one of its many macro front-ends. Found in file sv.c =item sv_report_used +X<sv_report_used> Dump the contents of all SVs not yet freed. (Debugging aid). @@ -4702,6 +5122,7 @@ Dump the contents of all SVs not yet freed. (Debugging aid). Found in file sv.c =item sv_reset +X<sv_reset> Underlying implementation for the C<reset> Perl function. Note that the perl-level function is vaguely deprecated. @@ -4712,6 +5133,7 @@ Note that the perl-level function is vaguely deprecated. Found in file sv.c =item sv_rvweaken +X<sv_rvweaken> Weaken a reference: set the C<SvWEAKREF> flag on this RV; give the referred-to SV C<PERL_MAGIC_backref> magic if it hasn't already; and @@ -4724,6 +5146,7 @@ associated with that magic. Found in file sv.c =item sv_setiv +X<sv_setiv> Copies an integer into the given SV, upgrading first if necessary. Does not handle 'set' magic. See also C<sv_setiv_mg>. @@ -4734,6 +5157,7 @@ Does not handle 'set' magic. See also C<sv_setiv_mg>. Found in file sv.c =item sv_setiv_mg +X<sv_setiv_mg> Like C<sv_setiv>, but also handles 'set' magic. @@ -4743,6 +5167,7 @@ Like C<sv_setiv>, but also handles 'set' magic. Found in file sv.c =item sv_setnv +X<sv_setnv> Copies a double into the given SV, upgrading first if necessary. Does not handle 'set' magic. See also C<sv_setnv_mg>. @@ -4753,6 +5178,7 @@ Does not handle 'set' magic. See also C<sv_setnv_mg>. Found in file sv.c =item sv_setnv_mg +X<sv_setnv_mg> Like C<sv_setnv>, but also handles 'set' magic. @@ -4762,6 +5188,7 @@ Like C<sv_setnv>, but also handles 'set' magic. Found in file sv.c =item sv_setpv +X<sv_setpv> Copies a string into an SV. The string must be null-terminated. Does not handle 'set' magic. See C<sv_setpv_mg>. @@ -4772,6 +5199,7 @@ handle 'set' magic. See C<sv_setpv_mg>. Found in file sv.c =item sv_setpvf +X<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>. @@ -4782,6 +5210,7 @@ appending it. Does not handle 'set' magic. See C<sv_setpvf_mg>. Found in file sv.c =item sv_setpvf_mg +X<sv_setpvf_mg> Like C<sv_setpvf>, but also handles 'set' magic. @@ -4791,6 +5220,7 @@ Like C<sv_setpvf>, but also handles 'set' magic. Found in file sv.c =item sv_setpviv +X<sv_setpviv> Copies an integer into the given SV, also updating its string value. Does not handle 'set' magic. See C<sv_setpviv_mg>. @@ -4801,6 +5231,7 @@ Does not handle 'set' magic. See C<sv_setpviv_mg>. Found in file sv.c =item sv_setpviv_mg +X<sv_setpviv_mg> Like C<sv_setpviv>, but also handles 'set' magic. @@ -4810,6 +5241,7 @@ Like C<sv_setpviv>, but also handles 'set' magic. Found in file sv.c =item sv_setpvn +X<sv_setpvn> Copies a string 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 @@ -4821,6 +5253,7 @@ undefined. Does not handle 'set' magic. See C<sv_setpvn_mg>. Found in file sv.c =item sv_setpvn_mg +X<sv_setpvn_mg> Like C<sv_setpvn>, but also handles 'set' magic. @@ -4830,6 +5263,7 @@ Like C<sv_setpvn>, but also handles 'set' magic. Found in file sv.c =item sv_setpv_mg +X<sv_setpv_mg> Like C<sv_setpv>, but also handles 'set' magic. @@ -4839,6 +5273,7 @@ Like C<sv_setpv>, but also handles 'set' magic. Found in file sv.c =item sv_setref_iv +X<sv_setref_iv> Copies an integer into a new SV, optionally blessing the SV. The C<rv> argument will be upgraded to an RV. That RV will be modified to point to @@ -4852,6 +5287,7 @@ will have a reference count of 1, and the RV will be returned. Found in file sv.c =item sv_setref_nv +X<sv_setref_nv> Copies a double into a new SV, optionally blessing the SV. The C<rv> argument will be upgraded to an RV. That RV will be modified to point to @@ -4865,6 +5301,7 @@ will have a reference count of 1, and the RV will be returned. Found in file sv.c =item sv_setref_pv +X<sv_setref_pv> Copies a pointer into a new SV, optionally blessing the SV. The C<rv> argument will be upgraded to an RV. That RV will be modified to point to @@ -4884,6 +5321,7 @@ Note that C<sv_setref_pvn> copies the string while this copies the pointer. Found in file sv.c =item sv_setref_pvn +X<sv_setref_pvn> Copies a string into a new SV, optionally blessing the SV. The length of the string must be specified with C<n>. The C<rv> argument will be upgraded to @@ -4900,6 +5338,7 @@ Note that C<sv_setref_pv> copies the pointer while this copies the string. Found in file sv.c =item sv_setref_uv +X<sv_setref_uv> Copies an unsigned integer into a new SV, optionally blessing the SV. The C<rv> argument will be upgraded to an RV. That RV will be modified to point to @@ -4913,6 +5352,7 @@ will have a reference count of 1, and the RV will be returned. Found in file sv.c =item sv_setsv +X<sv_setsv> Copies the contents of the source SV C<ssv> into the destination SV C<dsv>. The source SV may be destroyed if it is mortal, so don't use this @@ -4930,6 +5370,7 @@ C<SvSetMagicSV_nosteal>. Found in file sv.c =item sv_setsv_flags +X<sv_setsv_flags> Copies the contents of the source SV C<ssv> into the destination SV C<dsv>. The source SV may be destroyed if it is mortal, so don't use this @@ -4954,6 +5395,7 @@ copy-ish functions and macros use this underneath. Found in file sv.c =item sv_setsv_mg +X<sv_setsv_mg> Like C<sv_setsv>, but also handles 'set' magic. @@ -4963,6 +5405,7 @@ Like C<sv_setsv>, but also handles 'set' magic. Found in file sv.c =item sv_setsv_nomg +X<sv_setsv_nomg> Like C<sv_setsv> but doesn't process magic. @@ -4972,6 +5415,7 @@ Like C<sv_setsv> but doesn't process magic. Found in file sv.h =item sv_setuv +X<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>. @@ -4982,6 +5426,7 @@ Does not handle 'set' magic. See also C<sv_setuv_mg>. Found in file sv.c =item sv_setuv_mg +X<sv_setuv_mg> Like C<sv_setuv>, but also handles 'set' magic. @@ -4991,6 +5436,7 @@ Like C<sv_setuv>, but also handles 'set' magic. Found in file sv.c =item sv_taint +X<sv_taint> Taint an SV. Use C<SvTAINTED_on> instead. void sv_taint(SV* sv) @@ -4999,6 +5445,7 @@ Taint an SV. Use C<SvTAINTED_on> instead. Found in file sv.c =item sv_tainted +X<sv_tainted> Test an SV for taintedness. Use C<SvTAINTED> instead. bool sv_tainted(SV* sv) @@ -5007,6 +5454,7 @@ Test an SV for taintedness. Use C<SvTAINTED> instead. Found in file sv.c =item sv_true +X<sv_true> Returns true if the SV has a true value by Perl's rules. Use the C<SvTRUE> macro instead, which may call C<sv_true()> or may @@ -5018,6 +5466,7 @@ instead use an in-line version. Found in file sv.c =item sv_unmagic +X<sv_unmagic> Removes all magic of type C<type> from an SV. @@ -5027,6 +5476,7 @@ Removes all magic of type C<type> from an SV. Found in file sv.c =item sv_unref +X<sv_unref> 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 @@ -5039,6 +5489,7 @@ being zero. See C<SvROK_off>. Found in file sv.c =item sv_unref_flags +X<sv_unref_flags> 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 @@ -5054,6 +5505,7 @@ See C<SvROK_off>. Found in file sv.c =item sv_untaint +X<sv_untaint> Untaint an SV. Use C<SvTAINTED_off> instead. void sv_untaint(SV* sv) @@ -5062,6 +5514,7 @@ Untaint an SV. Use C<SvTAINTED_off> instead. Found in file sv.c =item sv_upgrade +X<sv_upgrade> Upgrade an SV to a more complex form. Generally adds a new body type to the SV, then copies across as much information as possible from the old body. @@ -5073,6 +5526,7 @@ You generally want to use the C<SvUPGRADE> macro wrapper. See also C<svtype>. Found in file sv.c =item sv_usepvn +X<sv_usepvn> Tells an SV to use C<ptr> to find its string value. Normally the string is stored inside the SV but sv_usepvn allows the SV to use an outside string. @@ -5088,6 +5542,7 @@ See C<sv_usepvn_mg>. Found in file sv.c =item sv_usepvn_mg +X<sv_usepvn_mg> Like C<sv_usepvn>, but also handles 'set' magic. @@ -5097,6 +5552,7 @@ Like C<sv_usepvn>, but also handles 'set' magic. Found in file sv.c =item sv_utf8_decode +X<sv_utf8_decode> If the PV of the SV is an octet sequence in UTF-8 and contains a multiple-byte character, the C<SvUTF8> flag is turned on @@ -5113,6 +5569,7 @@ removed without notice. Found in file sv.c =item sv_utf8_downgrade +X<sv_utf8_downgrade> Attempts to convert the PV of an SV from characters to bytes. If the PV contains a character beyond byte, this conversion will fail; @@ -5131,6 +5588,7 @@ removed without notice. Found in file sv.c =item sv_utf8_encode +X<sv_utf8_encode> Converts the PV of an SV to UTF-8, but then turns the C<SvUTF8> flag off so that it looks like octets again. @@ -5141,6 +5599,7 @@ flag off so that it looks like octets again. Found in file sv.c =item sv_utf8_upgrade +X<sv_utf8_upgrade> Converts the PV of an SV to its UTF-8-encoded form. Forces the SV to string form if it is not already. @@ -5156,6 +5615,7 @@ use the Encode extension for that. Found in file sv.c =item sv_utf8_upgrade_flags +X<sv_utf8_upgrade_flags> Converts the PV of an SV to its UTF-8-encoded form. Forces the SV to string form if it is not already. @@ -5173,6 +5633,7 @@ use the Encode extension for that. Found in file sv.c =item sv_uv +X<sv_uv> A private implementation of the C<SvUVx> macro for compilers which can't cope with complex macro expressions. Always use the macro instead. @@ -5183,6 +5644,7 @@ cope with complex macro expressions. Always use the macro instead. Found in file sv.c =item sv_vcatpvf +X<sv_vcatpvf> Processes its arguments like C<vsprintf> and appends the formatted output to an SV. Does not handle 'set' magic. See C<sv_vcatpvf_mg>. @@ -5195,6 +5657,7 @@ Usually used via its frontend C<sv_catpvf>. Found in file sv.c =item sv_vcatpvfn +X<sv_vcatpvfn> Processes its arguments like C<vsprintf> and appends the formatted output to an SV. Uses an array of SVs if the C style variable argument list is @@ -5210,6 +5673,7 @@ Usually used via one of its frontends C<sv_vcatpvf> and C<sv_vcatpvf_mg>. Found in file sv.c =item sv_vcatpvf_mg +X<sv_vcatpvf_mg> Like C<sv_vcatpvf>, but also handles 'set' magic. @@ -5221,6 +5685,7 @@ Usually used via its frontend C<sv_catpvf_mg>. Found in file sv.c =item sv_vsetpvf +X<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>. @@ -5233,6 +5698,7 @@ Usually used via its frontend C<sv_setpvf>. Found in file sv.c =item sv_vsetpvfn +X<sv_vsetpvfn> Works like C<sv_vcatpvfn> but copies the text into the SV instead of appending it. @@ -5245,6 +5711,7 @@ Usually used via one of its frontends C<sv_vsetpvf> and C<sv_vsetpvf_mg>. Found in file sv.c =item sv_vsetpvf_mg +X<sv_vsetpvf_mg> Like C<sv_vsetpvf>, but also handles 'set' magic. @@ -5263,6 +5730,7 @@ Found in file sv.c =over 8 =item bytes_from_utf8 +X<bytes_from_utf8> Converts a string C<s> of length C<len> from UTF-8 into byte encoding. Unlike C<utf8_to_bytes> but like C<bytes_to_utf8>, returns a pointer to @@ -5280,6 +5748,7 @@ removed without notice. Found in file utf8.c =item bytes_to_utf8 +X<bytes_to_utf8> Converts a string C<s> of length C<len> from ASCII into UTF-8 encoding. Returns a pointer to the newly-created string, and sets C<len> to @@ -5297,6 +5766,7 @@ removed without notice. Found in file utf8.c =item ibcmp_utf8 +X<ibcmp_utf8> Return true if the strings s1 and s2 differ case-insensitively, false if not (if they are equal case-insensitively). If u1 is true, the @@ -5325,6 +5795,7 @@ http://www.unicode.org/unicode/reports/tr21/ (Case Mappings). Found in file utf8.c =item is_utf8_char +X<is_utf8_char> Tests if some arbitrary number of bytes begins in a valid UTF-8 character. Note that an INVARIANT (i.e. ASCII) character is a valid @@ -5337,6 +5808,7 @@ will be returned if it is valid, otherwise 0. Found in file utf8.c =item is_utf8_string +X<is_utf8_string> Returns true if first C<len> bytes of the given string form a valid UTF-8 string, false otherwise. Note that 'a valid UTF-8 string' does @@ -5351,6 +5823,7 @@ See also is_utf8_string_loclen() and is_utf8_string_loc(). Found in file utf8.c =item is_utf8_string_loc +X<is_utf8_string_loc> Like is_ut8_string() but stores the location of the failure (in the case of "utf8ness failure") or the location s+len (in the case of @@ -5364,6 +5837,7 @@ See also is_utf8_string_loclen() and is_utf8_string(). Found in file utf8.c =item is_utf8_string_loclen +X<is_utf8_string_loclen> Like is_ut8_string() but stores the location of the failure (in the case of "utf8ness failure") or the location s+len (in the case of @@ -5378,6 +5852,7 @@ See also is_utf8_string_loc() and is_utf8_string(). Found in file utf8.c =item pv_uni_display +X<pv_uni_display> Build to the scalar dsv a displayable version of the string spv, length len, the displayable version being at most pvlim bytes long @@ -5398,6 +5873,7 @@ The pointer to the PV of the dsv is returned. Found in file utf8.c =item sv_cat_decode +X<sv_cat_decode> The encoding is assumed to be an Encode object, the PV of the ssv is assumed to be octets in that encoding and decoding the input starts @@ -5415,6 +5891,7 @@ Returns TRUE if the terminator was found, else returns FALSE. Found in file sv.c =item sv_recode_to_utf8 +X<sv_recode_to_utf8> The encoding is assumed to be an Encode object, on entry the PV of the sv is assumed to be octets in that encoding, and the sv @@ -5433,6 +5910,7 @@ The PV of the sv is returned. Found in file sv.c =item sv_uni_display +X<sv_uni_display> Build to the scalar dsv a displayable version of the scalar sv, the displayable version being at most pvlim bytes long @@ -5448,6 +5926,7 @@ The pointer to the PV of the dsv is returned. Found in file utf8.c =item to_utf8_case +X<to_utf8_case> The "p" contains the pointer to the UTF-8 string encoding the character that is being converted. @@ -5475,6 +5954,7 @@ The "normal" is a string like "ToLower" which means the swash Found in file utf8.c =item to_utf8_fold +X<to_utf8_fold> Convert the UTF-8 encoded character at p to its foldcase version and store that in UTF-8 in ustrp and its length in bytes in lenp. Note @@ -5491,6 +5971,7 @@ The first character of the foldcased version is returned Found in file utf8.c =item to_utf8_lower +X<to_utf8_lower> Convert the UTF-8 encoded character at p to its lowercase version and store that in UTF-8 in ustrp and its length in bytes in lenp. Note @@ -5506,6 +5987,7 @@ The first character of the lowercased version is returned Found in file utf8.c =item to_utf8_title +X<to_utf8_title> Convert the UTF-8 encoded character at p to its titlecase version and store that in UTF-8 in ustrp and its length in bytes in lenp. Note @@ -5521,6 +6003,7 @@ The first character of the titlecased version is returned Found in file utf8.c =item to_utf8_upper +X<to_utf8_upper> Convert the UTF-8 encoded character at p to its uppercase version and store that in UTF-8 in ustrp and its length in bytes in lenp. Note @@ -5536,6 +6019,7 @@ The first character of the uppercased version is returned Found in file utf8.c =item utf8n_to_uvchr +X<utf8n_to_uvchr> Returns the native character value of the first character in the string C<s> which is assumed to be in UTF-8 encoding; C<retlen> will be set to the @@ -5549,6 +6033,7 @@ Allows length and flags to be passed to low level routine. Found in file utf8.c =item utf8n_to_uvuni +X<utf8n_to_uvuni> Bottom level UTF-8 decode routine. Returns the unicode code point value of the first character in the string C<s> @@ -5574,6 +6059,7 @@ Most code should use utf8_to_uvchr() rather than call this directly. Found in file utf8.c =item utf8_distance +X<utf8_distance> Returns the number of UTF-8 characters between the UTF-8 pointers C<a> and C<b>. @@ -5587,6 +6073,7 @@ same UTF-8 buffer. Found in file utf8.c =item utf8_hop +X<utf8_hop> Return the UTF-8 pointer C<s> displaced by C<off> characters, either forward or backward. @@ -5601,6 +6088,7 @@ on the first byte of character or just after the last byte of a character. Found in file utf8.c =item utf8_length +X<utf8_length> Return the length of the UTF-8 char encoded string C<s> in characters. Stops at C<e> (inclusive). If C<e E<lt> s> or if the scan would end @@ -5612,6 +6100,7 @@ up past C<e>, croaks. Found in file utf8.c =item utf8_to_bytes +X<utf8_to_bytes> Converts a string C<s> of length C<len> from UTF-8 into byte encoding. Unlike C<bytes_to_utf8>, this over-writes the original string, and @@ -5627,6 +6116,7 @@ removed without notice. Found in file utf8.c =item utf8_to_uvchr +X<utf8_to_uvchr> Returns the native character value of the first character in the string C<s> which is assumed to be in UTF-8 encoding; C<retlen> will be set to the @@ -5641,6 +6131,7 @@ returned and retlen is set, if possible, to -1. Found in file utf8.c =item utf8_to_uvuni +X<utf8_to_uvuni> Returns the Unicode code point of the first character in the string C<s> which is assumed to be in UTF-8 encoding; C<retlen> will be set to the @@ -5658,6 +6149,7 @@ returned and retlen is set, if possible, to -1. Found in file utf8.c =item uvchr_to_utf8 +X<uvchr_to_utf8> Adds the UTF-8 representation of the Native codepoint C<uv> to the end of the string C<d>; C<d> should be have at least C<UTF8_MAXBYTES+1> free @@ -5676,6 +6168,7 @@ is the recommended wide native character-aware way of saying Found in file utf8.c =item uvuni_to_utf8_flags +X<uvuni_to_utf8_flags> Adds the UTF-8 representation of the Unicode codepoint C<uv> to the end of the string C<d>; C<d> should be have at least C<UTF8_MAXBYTES+1> free @@ -5709,6 +6202,7 @@ Found in file utf8.c =over 8 =item ax +X<ax> Variable which is setup by C<xsubpp> to indicate the stack base offset, used by the C<ST>, C<XSprePUSH> and C<XSRETURN> macros. The C<dMARK> macro @@ -5720,6 +6214,7 @@ must be called prior to setup the C<MARK> variable. Found in file XSUB.h =item CLASS +X<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>. @@ -5730,6 +6225,7 @@ class name for a C++ XS constructor. This is always a C<char*>. See C<THIS>. Found in file XSUB.h =item dAX +X<dAX> Sets up the C<ax> variable. This is usually handled automatically by C<xsubpp> by calling C<dXSARGS>. @@ -5740,6 +6236,7 @@ This is usually handled automatically by C<xsubpp> by calling C<dXSARGS>. Found in file XSUB.h =item dAXMARK +X<dAXMARK> Sets up the C<ax> variable and stack marker variable C<mark>. This is usually handled automatically by C<xsubpp> by calling C<dXSARGS>. @@ -5750,6 +6247,7 @@ This is usually handled automatically by C<xsubpp> by calling C<dXSARGS>. Found in file XSUB.h =item dITEMS +X<dITEMS> Sets up the C<items> variable. This is usually handled automatically by C<xsubpp> by calling C<dXSARGS>. @@ -5760,6 +6258,7 @@ This is usually handled automatically by C<xsubpp> by calling C<dXSARGS>. Found in file XSUB.h =item dUNDERBAR +X<dUNDERBAR> Sets up the C<padoff_du> variable for an XSUB that wishes to use C<UNDERBAR>. @@ -5770,6 +6269,7 @@ C<UNDERBAR>. Found in file XSUB.h =item dXSARGS +X<dXSARGS> Sets up stack and mark pointers for an XSUB, calling dSP and dMARK. Sets up the C<ax> and C<items> variables by calling C<dAX> and C<dITEMS>. @@ -5781,6 +6281,7 @@ This is usually handled automatically by C<xsubpp>. Found in file XSUB.h =item dXSI32 +X<dXSI32> Sets up the C<ix> variable for an XSUB which has aliases. This is usually handled automatically by C<xsubpp>. @@ -5791,6 +6292,7 @@ handled automatically by C<xsubpp>. Found in file XSUB.h =item items +X<items> Variable which is setup by C<xsubpp> to indicate the number of items on the stack. See L<perlxs/"Variable-length Parameter Lists">. @@ -5801,6 +6303,7 @@ items on the stack. See L<perlxs/"Variable-length Parameter Lists">. Found in file XSUB.h =item ix +X<ix> Variable which is setup by C<xsubpp> to indicate which of an XSUB's aliases was used to invoke it. See L<perlxs/"The ALIAS: Keyword">. @@ -5811,6 +6314,7 @@ XSUB's aliases was used to invoke it. See L<perlxs/"The ALIAS: Keyword">. Found in file XSUB.h =item newXSproto +X<newXSproto> Used by C<xsubpp> to hook up XSUBs as Perl subs. Adds Perl prototypes to the subs. @@ -5819,6 +6323,7 @@ the subs. Found in file XSUB.h =item RETVAL +X<RETVAL> Variable which is setup by C<xsubpp> to hold the return value for an XSUB. This is always the proper type for the XSUB. See @@ -5830,6 +6335,7 @@ L<perlxs/"The RETVAL Variable">. Found in file XSUB.h =item ST +X<ST> Used to access elements on the XSUB's stack. @@ -5839,6 +6345,7 @@ Used to access elements on the XSUB's stack. Found in file XSUB.h =item THIS +X<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 @@ -5850,6 +6357,7 @@ L<perlxs/"Using XS With C++">. Found in file XSUB.h =item UNDERBAR +X<UNDERBAR> The SV* corresponding to the $_ variable. Works even if there is a lexical $_ in scope. @@ -5858,6 +6366,7 @@ is a lexical $_ in scope. Found in file XSUB.h =item XS +X<XS> Macro to declare an XSUB and its C parameter list. This is handled by C<xsubpp>. @@ -5866,6 +6375,7 @@ C<xsubpp>. Found in file XSUB.h =item XS_VERSION +X<XS_VERSION> The version identifier for an XS module. This is usually handled automatically by C<ExtUtils::MakeMaker>. See C<XS_VERSION_BOOTCHECK>. @@ -5874,6 +6384,7 @@ handled automatically by C<ExtUtils::MakeMaker>. See C<XS_VERSION_BOOTCHECK>. Found in file XSUB.h =item XS_VERSION_BOOTCHECK +X<XS_VERSION_BOOTCHECK> Macro to verify that a PM module's $VERSION variable matches the XS module's C<XS_VERSION> variable. This is usually handled automatically by @@ -5892,6 +6403,7 @@ Found in file XSUB.h =over 8 =item croak +X<croak> This is the XSUB-writer's interface to Perl's C<die> function. Normally call this function the same way you call the C C<printf> @@ -5911,6 +6423,7 @@ C<$@> and then pass C<Nullch> to croak(): Found in file util.c =item warn +X<warn> This is the XSUB-writer's interface to Perl's C<warn> function. Call this function the same way you call the C C<printf> function. See C<croak>. diff --git a/pod/perlintern.pod b/pod/perlintern.pod index e71e3a373b..ee9de89269 100644 --- a/pod/perlintern.pod +++ b/pod/perlintern.pod @@ -4,6 +4,7 @@ perlintern - autogenerated documentation of purely B<internal> Perl functions =head1 DESCRIPTION +X<internal Perl functions> X<interpreter functions> This file is the autogenerated documentation of functions in the Perl interpreter that are documented using Perl's internal documentation @@ -16,6 +17,7 @@ B<they are not for use in extensions>! =over 8 =item CvWEAKOUTSIDE +X<CvWEAKOUTSIDE> Each CV has a pointer, C<CvOUTSIDE()>, to its lexically enclosing CV (if any). Because pointers to anonymous sub prototypes are @@ -78,6 +80,7 @@ Found in file cv.h =over 8 =item CX_CURPAD_SAVE +X<CX_CURPAD_SAVE> Save the current pad in the given context block structure. @@ -87,6 +90,7 @@ Save the current pad in the given context block structure. Found in file pad.h =item CX_CURPAD_SV +X<CX_CURPAD_SV> Access the SV at offset po in the saved current pad in the given context block structure (can be used as an lvalue). @@ -96,16 +100,18 @@ context block structure (can be used as an lvalue). =for hackers Found in file pad.h -=item PAD_BASE_SV +=item PAD_BASE_SV +X<PAD_BASE_SV> Get the value from slot C<po> in the base (DEPTH=1) pad of a padlist - SV * PAD_BASE_SV (PADLIST padlist, PADOFFSET po) + SV * PAD_BASE_SV(PADLIST padlist, PADOFFSET po) =for hackers Found in file pad.h =item PAD_CLONE_VARS +X<PAD_CLONE_VARS> |CLONE_PARAMS* param Clone the state variables associated with running and compiling pads. @@ -116,6 +122,7 @@ Clone the state variables associated with running and compiling pads. Found in file pad.h =item PAD_COMPNAME_FLAGS +X<PAD_COMPNAME_FLAGS> Return the flags for the current compiling pad name at offset C<po>. Assumes a valid slot entry. @@ -126,6 +133,7 @@ at offset C<po>. Assumes a valid slot entry. Found in file pad.h =item PAD_COMPNAME_GEN +X<PAD_COMPNAME_GEN> The generation number of the name at offset C<po> in the current compiling pad (lvalue). Note that C<SvCUR> is hijacked for this purpose. @@ -136,6 +144,7 @@ compiling pad (lvalue). Note that C<SvCUR> is hijacked for this purpose. Found in file pad.h =item PAD_COMPNAME_GEN_set +X<PAD_COMPNAME_GEN_set> Sets the generation number of the name at offset C<po> in the current ling pad (lvalue) to C<gen>. Note that C<SvCUR_set> is hijacked for this purpose. @@ -146,6 +155,7 @@ ling pad (lvalue) to C<gen>. Note that C<SvCUR_set> is hijacked for this purpos Found in file pad.h =item PAD_COMPNAME_OURSTASH +X<PAD_COMPNAME_OURSTASH> Return the stash associated with an C<our> variable. Assumes the slot entry is a valid C<our> lexical. @@ -156,6 +166,7 @@ Assumes the slot entry is a valid C<our> lexical. Found in file pad.h =item PAD_COMPNAME_PV +X<PAD_COMPNAME_PV> Return the name of the current compiling pad name at offset C<po>. Assumes a valid slot entry. @@ -166,6 +177,7 @@ at offset C<po>. Assumes a valid slot entry. Found in file pad.h =item PAD_COMPNAME_TYPE +X<PAD_COMPNAME_TYPE> Return the type (stash) of the current compiling pad name at offset C<po>. Must be a valid name. Returns null if not typed. @@ -176,6 +188,7 @@ C<po>. Must be a valid name. Returns null if not typed. Found in file pad.h =item PAD_DUP +X<PAD_DUP> Clone a padlist. @@ -185,6 +198,7 @@ Clone a padlist. Found in file pad.h =item PAD_RESTORE_LOCAL +X<PAD_RESTORE_LOCAL> Restore the old pad saved into the local variable opad by PAD_SAVE_LOCAL() @@ -194,6 +208,7 @@ Restore the old pad saved into the local variable opad by PAD_SAVE_LOCAL() Found in file pad.h =item PAD_SAVE_LOCAL +X<PAD_SAVE_LOCAL> Save the current pad to the local variable opad, then make the current pad equal to npad @@ -204,6 +219,7 @@ current pad equal to npad Found in file pad.h =item PAD_SAVE_SETNULLPAD +X<PAD_SAVE_SETNULLPAD> Save the current pad then set it to null. @@ -212,16 +228,18 @@ Save the current pad then set it to null. =for hackers Found in file pad.h -=item PAD_SETSV +=item PAD_SETSV +X<PAD_SETSV> Set the slot at offset C<po> in the current pad to C<sv> - SV * PAD_SETSV (PADOFFSET po, SV* sv) + SV * PAD_SETSV(PADOFFSET po, SV* sv) =for hackers Found in file pad.h -=item PAD_SET_CUR +=item PAD_SET_CUR +X<PAD_SET_CUR> Set the current pad to be pad C<n> in the padlist, saving the previous current pad. NB currently this macro expands to a string too @@ -231,51 +249,56 @@ long for some compilers, so it's best to replace it with PAD_SET_CUR_NOSAVE(padlist,n); - void PAD_SET_CUR (PADLIST padlist, I32 n) + void PAD_SET_CUR(PADLIST padlist, I32 n) =for hackers Found in file pad.h -=item PAD_SET_CUR_NOSAVE +=item PAD_SET_CUR_NOSAVE +X<PAD_SET_CUR_NOSAVE> like PAD_SET_CUR, but without the save - void PAD_SET_CUR_NOSAVE (PADLIST padlist, I32 n) + void PAD_SET_CUR_NOSAVE(PADLIST padlist, I32 n) =for hackers Found in file pad.h -=item PAD_SV +=item PAD_SV +X<PAD_SV> Get the value at offset C<po> in the current pad - void PAD_SV (PADOFFSET po) + void PAD_SV(PADOFFSET po) =for hackers Found in file pad.h -=item PAD_SVl +=item PAD_SVl +X<PAD_SVl> Lightweight and lvalue version of C<PAD_SV>. Get or set the value at offset C<po> in the current pad. Unlike C<PAD_SV>, does not print diagnostics with -DX. For internal use only. - SV * PAD_SVl (PADOFFSET po) + SV * PAD_SVl(PADOFFSET po) =for hackers Found in file pad.h -=item SAVECLEARSV +=item SAVECLEARSV +X<SAVECLEARSV> Clear the pointed to pad value on scope exit. (i.e. the runtime action of 'my') - void SAVECLEARSV (SV **svp) + void SAVECLEARSV(SV **svp) =for hackers Found in file pad.h =item SAVECOMPPAD +X<SAVECOMPPAD> save PL_comppad and PL_curpad @@ -288,12 +311,13 @@ save PL_comppad and PL_curpad =for hackers Found in file pad.h -=item SAVEPADSV +=item SAVEPADSV +X<SAVEPADSV> Save a pad slot (used to restore after an iteration) XXX DAPM it would make more sense to make the arg a PADOFFSET - void SAVEPADSV (PADOFFSET po) + void SAVEPADSV(PADOFFSET po) =for hackers Found in file pad.h @@ -307,6 +331,7 @@ Found in file pad.h =over 8 =item find_runcv +X<find_runcv> Locate the CV corresponding to the currently executing sub or eval. If db_seqp is non_null, skip CVs that are in the DB package and populate @@ -327,6 +352,7 @@ Found in file pp_ctl.c =over 8 =item PL_DBsingle +X<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. @@ -340,6 +366,7 @@ C<PL_DBsub>. Found in file intrpvar.h =item PL_DBsub +X<PL_DBsub> 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 @@ -352,6 +379,7 @@ C<PL_DBsingle>. Found in file intrpvar.h =item PL_DBtrace +X<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 @@ -363,6 +391,7 @@ variable. See C<PL_DBsingle>. Found in file intrpvar.h =item PL_dowarn +X<PL_dowarn> The C variable which corresponds to Perl's $^W warning variable. @@ -372,6 +401,7 @@ The C variable which corresponds to Perl's $^W warning variable. Found in file intrpvar.h =item PL_last_in_gv +X<PL_last_in_gv> The GV which was last used for a filehandle input operation. (C<< <FH> >>) @@ -381,6 +411,7 @@ The GV which was last used for a filehandle input operation. (C<< <FH> >>) Found in file thrdvar.h =item PL_ofs_sv +X<PL_ofs_sv> The output field separator - C<$,> in Perl space. @@ -390,6 +421,7 @@ The output field separator - C<$,> in Perl space. Found in file thrdvar.h =item PL_rs +X<PL_rs> The input record separator - C<$/> in Perl space. @@ -406,6 +438,7 @@ Found in file thrdvar.h =over 8 =item is_gv_magical +X<is_gv_magical> Returns C<TRUE> if given the name of a magical GV. @@ -425,6 +458,7 @@ pointers returned by SvPV. Found in file gv.c =item is_gv_magical_sv +X<is_gv_magical_sv> Returns C<TRUE> if given the name of a magical GV. Calls is_gv_magical. @@ -441,6 +475,7 @@ Found in file gv.c =over 8 =item start_glob +X<start_glob> Function called by C<do_readline> to spawn a glob (or do the glob inside perl on VMS). This code used to be inline, but now perl uses C<File::Glob> @@ -460,6 +495,7 @@ Found in file doio.c =over 8 =item mg_localize +X<mg_localize> Copy some of the magic from an existing SV to new localized version of that SV. Container magic (eg %ENV, $1, tie) gets copied, value magic @@ -478,6 +514,7 @@ Found in file mg.c =over 8 =item CvPADLIST +X<CvPADLIST> CV's can have CvPADLIST(cv) set to point to an AV. @@ -559,6 +596,7 @@ to be generated in evals, such as Found in file pad.c =item cv_clone +X<cv_clone> Clone a CV: make a new CV which points to the same code etc, but which has a newly-created pad built by copying the prototype pad and capturing @@ -570,6 +608,7 @@ any outer lexicals. Found in file pad.c =item cv_dump +X<cv_dump> dump the contents of a CV @@ -579,6 +618,7 @@ dump the contents of a CV Found in file pad.c =item do_dump_pad +X<do_dump_pad> Dump the contents of a padlist @@ -588,6 +628,7 @@ Dump the contents of a padlist Found in file pad.c =item intro_my +X<intro_my> "Introduce" my variables to visible status. @@ -597,6 +638,7 @@ Found in file pad.c Found in file pad.c =item pad_add_anon +X<pad_add_anon> Add an anon code entry to the current compiling pad @@ -606,6 +648,7 @@ Add an anon code entry to the current compiling pad Found in file pad.c =item pad_add_name +X<pad_add_name> Create a new name and associated PADMY SV in the current pad; return the offset. @@ -622,6 +665,7 @@ If fake, it means we're cloning an existing entry Found in file pad.c =item pad_alloc +X<pad_alloc> Allocate a new my or tmp pad entry. For a my, simply push a null SV onto the end of PL_comppad, but for a tmp, scan the pad from PL_padix upwards @@ -633,6 +677,7 @@ for a slot which has no name and no active value. Found in file pad.c =item pad_block_start +X<pad_block_start> Update the pad compilation state variables on entry to a new block @@ -642,6 +687,7 @@ Update the pad compilation state variables on entry to a new block Found in file pad.c =item pad_check_dup +X<pad_check_dup> Check for duplicate declarations: report any of: * a my in the current scope with the same name; @@ -655,6 +701,7 @@ C<is_our> indicates that the name to check is an 'our' declaration Found in file pad.c =item pad_findlex +X<pad_findlex> Find a named lexical anywhere in a chain of nested pads. Add fake entries in the inner pads if it's found in an outer one. @@ -679,6 +726,7 @@ the parent pad. Found in file pad.c =item pad_findmy +X<pad_findmy> Given a lexical name, try to find its offset, first in the current pad, or failing that, in the pads of any lexically enclosing subs (including @@ -692,6 +740,7 @@ Returns the offset in the current pad, or NOT_IN_PAD on failure. Found in file pad.c =item pad_fixup_inner_anons +X<pad_fixup_inner_anons> For any anon CVs in the pad, change CvOUTSIDE of that CV from old_cv to new_cv if necessary. Needed when a newly-compiled CV has to be @@ -703,6 +752,7 @@ moved to a pre-existing CV struct. Found in file pad.c =item pad_free +X<pad_free> Free the SV at offset po in the current pad. @@ -712,6 +762,7 @@ Free the SV at offset po in the current pad. Found in file pad.c =item pad_leavemy +X<pad_leavemy> Cleanup at end of scope during compilation: set the max seq number for lexicals in this scope and warn of any lexicals that never got introduced. @@ -722,6 +773,7 @@ lexicals in this scope and warn of any lexicals that never got introduced. Found in file pad.c =item pad_new +X<pad_new> Create a new compiling padlist, saving and updating the various global vars at the same time as creating the pad itself. The following flags @@ -737,6 +789,7 @@ can be OR'ed together: Found in file pad.c =item pad_push +X<pad_push> Push a new pad frame onto the padlist, unless there's already a pad at this depth, in which case don't bother creating a new one. Then give @@ -748,6 +801,7 @@ the new pad an @_ in slot zero. Found in file pad.c =item pad_reset +X<pad_reset> Mark all the current temporaries for reuse @@ -757,6 +811,7 @@ Mark all the current temporaries for reuse Found in file pad.c =item pad_setsv +X<pad_setsv> Set the entry at offset po in the current pad to sv. Use the macro PAD_SETSV() rather than calling this function directly. @@ -767,6 +822,7 @@ Use the macro PAD_SETSV() rather than calling this function directly. Found in file pad.c =item pad_swipe +X<pad_swipe> Abandon the tmp in the current pad at offset po and replace with a new one. @@ -777,6 +833,7 @@ new one. Found in file pad.c =item pad_tidy +X<pad_tidy> Tidy up a pad after we've finished compiling it: * remove most stuff from the pads of anonsub prototypes; @@ -789,6 +846,7 @@ Tidy up a pad after we've finished compiling it: Found in file pad.c =item pad_undef +X<pad_undef> Free the padlist associated with a CV. If parts of it happen to be current, we null the relevant @@ -812,6 +870,7 @@ Found in file pad.c =over 8 =item djSP +X<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. @@ -824,6 +883,7 @@ old (Perl 5.005) thread model.) Found in file pp.h =item LVRET +X<LVRET> True if this op will be the return value of an lvalue subroutine @@ -838,6 +898,7 @@ Found in file pp.h =over 8 =item find_uninit_var +X<find_uninit_var> Find the name of the undefined variable (if any) that caused the operator o to issue a "Use of uninitialized value" warning. @@ -859,6 +920,7 @@ PL_comppad/PL_curpad points to the currently executing pad. Found in file sv.c =item report_uninit +X<report_uninit> Print appropriate "Use of uninitialized variable" warning @@ -868,6 +930,7 @@ Print appropriate "Use of uninitialized variable" warning Found in file sv.c =item sv_add_arena +X<sv_add_arena> Given a chunk of memory, link it to the head of the list of arenas, and split it into a list of free SVs. @@ -878,6 +941,7 @@ and split it into a list of free SVs. Found in file sv.c =item sv_clean_all +X<sv_clean_all> Decrement the refcnt of each remaining SV, possibly triggering a cleanup. This function may have to be called multiple times to free @@ -889,6 +953,7 @@ SVs which are in complex self-referential hierarchies. Found in file sv.c =item sv_clean_objs +X<sv_clean_objs> Attempt to destroy all objects not yet freed @@ -898,6 +963,7 @@ Attempt to destroy all objects not yet freed Found in file sv.c =item sv_free_arenas +X<sv_free_arenas> Deallocate the memory used by all arenas. Note that all the individual SV heads and bodies within the arenas must already have been freed. @@ -392,7 +392,7 @@ PERL_CALLCONV bool Perl_do_eof(pTHX_ GV* gv) PERL_CALLCONV bool Perl_do_exec(pTHX_ const char* cmd) __attribute__nonnull__(pTHX_1); -#if defined(WIN32) || defined(SYMBIAN) +#if defined(WIN32) || defined(__SYMBIAN32__) PERL_CALLCONV int Perl_do_aspawn(pTHX_ SV* really, SV** mark, SV** sp) __attribute__nonnull__(pTHX_1) __attribute__nonnull__(pTHX_2) |