From: Sébastien Aperghis-Tramoni Date: Tue, 18 Oct 2005 22:22:57 +0000 (+0200) Subject: Adding documentation index to perlapi.pod and perlintern.pod X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=d8c40edcf7b2eca3075e6c3cd36c64193c41e123;p=p5sagit%2Fp5-mst-13.2.git 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 --- diff --git a/autodoc.pl b/autodoc.pl index d347e4c..6a2e28b 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 X X 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 Perl functions =head1 DESCRIPTION +X X This file is the autogenerated documentation of functions in the Perl interpreter that are documented using Perl's internal documentation diff --git a/embed.h b/embed.h index 81720fc..adcf1fd 100644 --- a/embed.h +++ b/embed.h @@ -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 b26011e..2bee300 100644 --- a/pod/perlapi.pod +++ b/pod/perlapi.pod @@ -3,6 +3,7 @@ perlapi - autogenerated documentation for the perl public API =head1 DESCRIPTION +X X X 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 A backward-compatible version of C which can only return C or C; in a void context, it returns C. @@ -34,6 +36,7 @@ Deprecated. Use C instead. Found in file op.h =item GIMME_V +X The XSUB-writer's equivalent to Perl's C. Returns C, C or C for void, scalar or list context, @@ -45,6 +48,7 @@ respectively. Found in file op.h =item G_ARRAY +X Used to indicate list context. See C, C and L. @@ -53,6 +57,7 @@ L. Found in file cop.h =item G_DISCARD +X Indicates that arguments returned from a callback should be discarded. See L. @@ -61,6 +66,7 @@ L. Found in file cop.h =item G_EVAL +X Used to force a Perl C wrapper around a callback. See L. @@ -69,6 +75,7 @@ L. Found in file cop.h =item G_NOARGS +X Indicates that no arguments are being sent to a callback. See L. @@ -77,6 +84,7 @@ L. Found in file cop.h =item G_SCALAR +X Used to indicate scalar context. See C, C, and L. @@ -85,6 +93,7 @@ L. Found in file cop.h =item G_VOID +X Used to indicate void context. See C and L. @@ -99,6 +108,7 @@ Found in file cop.h =over 8 =item AvFILL +X Same as C. Deprecated, use C instead. @@ -108,6 +118,7 @@ Same as C. Deprecated, use C instead. Found in file av.h =item av_clear +X 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 Deletes the element indexed by C from the array. Returns the deleted element. If C equals C, the element is freed @@ -129,6 +141,7 @@ and null is returned. Found in file av.c =item av_exists +X Returns true if the element indexed by C has been initialized. @@ -141,6 +154,7 @@ C<&PL_sv_undef>. Found in file av.c =item av_extend +X Pre-extend an array. The C is the index to which the array should be extended. @@ -151,6 +165,7 @@ extended. Found in file av.c =item av_fetch +X Returns the SV at the specified index in the array. The C is the index. If C 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 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 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 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 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 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 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 Stores an SV in an array. The array index is specified as C. 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 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 Unshift the given number of C 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 to assign values to these new elements. Found in file av.c =item get_av +X Returns the AV of the specified Perl array. If C is set and the Perl variable does not exist then it will be created. If C is not @@ -276,6 +301,7 @@ NOTE: the perl_ form of this function is deprecated. Found in file perl.c =item newAV +X 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 Sort an array. Here is an example: @@ -305,6 +332,7 @@ Found in file pp_sort.c =over 8 =item call_argv +X Performs a callback to the specified Perl sub. See L. @@ -316,6 +344,7 @@ NOTE: the perl_ form of this function is deprecated. Found in file perl.c =item call_method +X Performs a callback to the specified Perl method. The blessed object must be on the stack. See L. @@ -328,6 +357,7 @@ NOTE: the perl_ form of this function is deprecated. Found in file perl.c =item call_pv +X Performs a callback to the specified Perl sub. See L. @@ -339,6 +369,7 @@ NOTE: the perl_ form of this function is deprecated. Found in file perl.c =item call_sv +X Performs a callback to the Perl sub whose name is in the SV. See L. @@ -351,6 +382,7 @@ NOTE: the perl_ form of this function is deprecated. Found in file perl.c =item ENTER +X Opening bracket on a callback. See C and L. @@ -360,6 +392,7 @@ Opening bracket on a callback. See C and L. Found in file scope.h =item eval_pv +X Tells Perl to C 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 Tells Perl to C 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 Closing bracket for temporaries on a callback. See C and L. @@ -392,6 +427,7 @@ L. Found in file scope.h =item LEAVE +X Closing bracket on a callback. See C and L. @@ -401,6 +437,7 @@ Closing bracket on a callback. See C and L. Found in file scope.h =item SAVETMPS +X Opening bracket for temporaries on a callback. See C and L. @@ -418,6 +455,7 @@ Found in file scope.h =over 8 =item isALNUM +X Returns a boolean indicating whether the C C 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 Returns a boolean indicating whether the C C is an ASCII alphabetic character. @@ -438,6 +477,7 @@ character. Found in file handy.h =item isDIGIT +X Returns a boolean indicating whether the C C is an ASCII digit. @@ -448,6 +488,7 @@ digit. Found in file handy.h =item isLOWER +X Returns a boolean indicating whether the C C is a lowercase character. @@ -458,6 +499,7 @@ character. Found in file handy.h =item isSPACE +X Returns a boolean indicating whether the C C is whitespace. @@ -467,6 +509,7 @@ Returns a boolean indicating whether the C C is whitespace. Found in file handy.h =item isUPPER +X Returns a boolean indicating whether the C C is an uppercase character. @@ -477,6 +520,7 @@ character. Found in file handy.h =item toLOWER +X Converts the specified character to lowercase. @@ -486,6 +530,7 @@ Converts the specified character to lowercase. Found in file handy.h =item toUPPER +X Converts the specified character to uppercase. @@ -502,6 +547,7 @@ Found in file handy.h =over 8 =item perl_clone +X 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 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 Returns the CV of the specified Perl subroutine. If C 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 Clear out all the active components of a CV. This can happen either by an explicit C, 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 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. Found in file op.c =item nothreadhook +X 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 Allocates a new Perl interpreter. See L. @@ -624,6 +676,7 @@ Allocates a new Perl interpreter. See L. Found in file perl.c =item perl_construct +X Initializes a new Perl interpreter. See L. @@ -633,6 +686,7 @@ Initializes a new Perl interpreter. See L. Found in file perl.c =item perl_destruct +X Shuts down a Perl interpreter. See L. @@ -642,6 +696,7 @@ Shuts down a Perl interpreter. See L. Found in file perl.c =item perl_free +X Releases a Perl interpreter. See L. @@ -651,6 +706,7 @@ Releases a Perl interpreter. See L. Found in file perl.c =item perl_parse +X Tells a Perl interpreter to parse a Perl script. See L. @@ -660,6 +716,7 @@ Tells a Perl interpreter to parse a Perl script. See L. Found in file perl.c =item perl_run +X Tells a Perl interpreter to run. See L. @@ -669,6 +726,7 @@ Tells a Perl interpreter to run. See L. Found in file perl.c =item require_pv +X Tells Perl to C the file named by the string argument. It is analogous to the Perl code C. It's even @@ -690,6 +748,7 @@ Found in file perl.c =over 8 =item packlist +X 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 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 The engine implementing unpack() Perl function. C puts the extracted list items on the stack and returns the number of elements. @@ -720,6 +781,7 @@ Issue C before and C after the call to this function. Found in file pp_pack.c =item unpack_str +X 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 C 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 A convenience variable which is typically used with C when one doesn't care about the length of the string. It is usually more efficient @@ -762,6 +826,7 @@ C macro. Found in file thrdvar.h =item PL_sv_no +X This is the C SV. See C. 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 This is the C SV. Always refer to this as C<&PL_sv_undef>. @@ -781,6 +847,7 @@ This is the C SV. Always refer to this as C<&PL_sv_undef>. Found in file intrpvar.h =item PL_sv_yes +X This is the C SV. See C. Always refer to this as C<&PL_sv_yes>. @@ -798,6 +865,7 @@ Found in file intrpvar.h =over 8 =item GvSV +X 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 Returns the glob with the given C and a defined subroutine or C. The glob lives in the given C, or in the stashes @@ -829,6 +898,7 @@ obtained from the GV with the C macro. Found in file gv.c =item gv_fetchmethod +X See L. @@ -838,6 +908,7 @@ See L. Found in file gv.c =item gv_fetchmethod_autoload +X Returns the glob which contains the subroutine to call to invoke the method on the C. In fact in the presence of autoloading this may be the @@ -867,6 +938,7 @@ C apply equally to these functions. Found in file gv.c =item gv_fetchmeth_autoload +X 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 Returns a pointer to the stash for a specified package. C should be a valid UTF-8 string and must be null-terminated. If C 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 Returns a pointer to the stash for a specified package. C should be a valid UTF-8 string. The C 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 Returns a pointer to the stash for a specified package, which must be a valid UTF-8 string. See C. @@ -923,6 +998,7 @@ Found in file gv.c =over 8 =item Nullav +X Null AV pointer. @@ -930,6 +1006,7 @@ Null AV pointer. Found in file av.h =item Nullch +X Null character pointer. @@ -937,6 +1014,7 @@ Null character pointer. Found in file handy.h =item Nullcv +X Null CV pointer. @@ -944,6 +1022,7 @@ Null CV pointer. Found in file cv.h =item Nullhv +X Null HV pointer. @@ -951,6 +1030,7 @@ Null HV pointer. Found in file hv.h =item Nullsv +X Null SV pointer. @@ -965,6 +1045,7 @@ Found in file handy.h =over 8 =item get_hv +X Returns the HV of the specified Perl hash. If C is set and the Perl variable does not exist then it will be created. If C is not @@ -978,6 +1059,7 @@ NOTE: the perl_ form of this function is deprecated. Found in file perl.c =item HEf_SVKEY +X This flag, used in the length slot of hash entries and magic structures, specifies the structure contains an C pointer where a C pointer @@ -987,6 +1069,7 @@ is to be expected. (For information only--not to be used). Found in file hv.h =item HeHASH +X 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 Returns the actual pointer stored in the key slot of the hash entry. The pointer may be either C or C, 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 If this is negative, and amounts to C, it indicates the entry holds an C key. Otherwise, holds the actual length of the key. Can @@ -1020,6 +1105,7 @@ lengths. Found in file hv.h =item HePV +X Returns the key slot of the hash entry as a C value, doing any necessary dereferencing of possibly C keys. The length of the string @@ -1037,6 +1123,7 @@ described elsewhere in this document. Found in file hv.h =item HeSVKEY +X Returns the key as an C, or C if the hash entry does not contain an C key. @@ -1047,6 +1134,7 @@ contain an C key. Found in file hv.h =item HeSVKEY_force +X Returns the key as an C. Will create and return a temporary mortal C if the hash entry contains only a C key. @@ -1057,6 +1145,7 @@ C if the hash entry contains only a C key. Found in file hv.h =item HeSVKEY_set +X Sets the key to a given C, taking care to set the appropriate flags to indicate the presence of an C key, and returns the same @@ -1068,6 +1157,7 @@ C. Found in file hv.h =item HeVAL +X Returns the value slot (type C) stored in the hash entry. @@ -1077,6 +1167,7 @@ Returns the value slot (type C) stored in the hash entry. Found in file hv.h =item HvNAME +X Returns the package name of a stash, or NULL if C isn't a stash. See C, C. @@ -1087,6 +1178,7 @@ See C, C. Found in file hv.h =item hv_assert +X 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 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 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 Deletes a key/value pair in the hash. The value SV is removed from the hash and returned to the caller. The C is the length of the key. @@ -1132,6 +1227,7 @@ will be returned. Found in file hv.c =item hv_delete_ent +X Deletes a key/value pair in the hash. The value SV is removed from the hash and returned to the caller. The C 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 Returns a boolean indicating whether the specified hash key exists. The C is the length of the key. @@ -1154,6 +1251,7 @@ C is the length of the key. Found in file hv.c =item hv_exists_ent +X Returns a boolean indicating whether the specified hash key exists. C 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 Returns the SV which corresponds to the specified key in the hash. The C is the length of the key. If C 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 Returns the hash entry which corresponds to the specified key in the hash. C must be a valid precomputed hash number for the given C, 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 Prepares a starting point to traverse a hash table. Returns the number of keys in the hash (i.e. the same as C). The return value is @@ -1214,6 +1315,7 @@ value, you can get it through the macro C. Found in file hv.c =item hv_iterkey +X Returns the key from the current position of the hash iterator. See C. @@ -1224,6 +1326,7 @@ C. Found in file hv.c =item hv_iterkeysv +X Returns the key as an C 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. Found in file hv.c =item hv_iternext +X Returns entries from a hash iterator. See C. @@ -1252,6 +1356,7 @@ trigger the resource deallocation. Found in file hv.c =item hv_iternextsv +X Performs an C, C, and C in one operation. @@ -1262,6 +1367,7 @@ operation. Found in file hv.c =item hv_iternext_flags +X Returns entries from a hash iterator. See C and C. The C 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 Returns the value from the current position of the hash iterator. See C. @@ -1291,6 +1398,7 @@ C. Found in file hv.c =item hv_magic +X Adds magic to a hash. See C. @@ -1300,6 +1408,7 @@ Adds magic to a hash. See C. Found in file hv.c =item hv_scalar +X 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 Stores an SV in a hash. The hash key is specified as C and C is the length of the key. The C 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 Stores C in a hash. The hash key is specified as C. The C 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 Undefines the hash. @@ -1375,6 +1487,7 @@ Undefines the hash. Found in file hv.c =item newHV +X 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 Clear something magical that the SV represents. See C. @@ -1400,6 +1514,7 @@ Clear something magical that the SV represents. See C. Found in file mg.c =item mg_copy +X Copies the magic from one SV to another. See C. @@ -1409,6 +1524,7 @@ Copies the magic from one SV to another. See C. Found in file mg.c =item mg_find +X Finds the magic pointer for type matching the SV. See C. @@ -1418,6 +1534,7 @@ Finds the magic pointer for type matching the SV. See C. Found in file mg.c =item mg_free +X Free any magic storage used by the SV. See C. @@ -1427,6 +1544,7 @@ Free any magic storage used by the SV. See C. Found in file mg.c =item mg_get +X Do magic after a value is retrieved from the SV. See C. @@ -1436,6 +1554,7 @@ Do magic after a value is retrieved from the SV. See C. Found in file mg.c =item mg_length +X Report on the SV's length. See C. @@ -1445,6 +1564,7 @@ Report on the SV's length. See C. Found in file mg.c =item mg_magical +X Turns on the magical status of an SV. See C. @@ -1454,6 +1574,7 @@ Turns on the magical status of an SV. See C. Found in file mg.c =item mg_set +X Do magic after a value is assigned to the SV. See C. @@ -1463,6 +1584,7 @@ Do magic after a value is assigned to the SV. See C. Found in file mg.c =item SvGETMAGIC +X Invokes C 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 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 Invokes C 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 Like C, but does any set magic required afterwards. @@ -1502,6 +1627,7 @@ Like C, but does any set magic required afterwards. Found in file sv.h =item SvSetMagicSV_nosteal +X Like C, but does any set magic required afterwards. @@ -1511,6 +1637,7 @@ Like C, but does any set magic required afterwards. Found in file sv.h =item SvSetSV +X Calls C 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 Calls a non-destructive version of C 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 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 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 The XSUB-writer's interface to the C C function. The C is the source, C is the destination, C is the number of items, and C is @@ -1569,6 +1700,7 @@ the type. May fail on overlapping copies. See also C. Found in file handy.h =item CopyD +X Like C but returns dest. Useful for encouraging compilers to tail-call optimise. @@ -1579,6 +1711,7 @@ optimise. Found in file handy.h =item Move +X The XSUB-writer's interface to the C C function. The C is the source, C is the destination, C is the number of items, and C is @@ -1590,6 +1723,7 @@ the type. Can do overlapping moves. See also C. Found in file handy.h =item MoveD +X Like C but returns dest. Useful for encouraging compilers to tail-call optimise. @@ -1600,6 +1734,7 @@ optimise. Found in file handy.h =item Newx +X The XSUB-writer's interface to the C C function. @@ -1615,6 +1750,7 @@ there for use in XS modules supporting older perls. Found in file handy.h =item Newxc +X The XSUB-writer's interface to the C C function, with cast. See also C. @@ -1625,6 +1761,7 @@ cast. See also C. Found in file handy.h =item Newxz +X The XSUB-writer's interface to the C C function. The allocated memory is zeroed with C. See also C. @@ -1635,6 +1772,7 @@ memory is zeroed with C. See also C. Found in file handy.h =item Poison +X 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 The XSUB-writer's interface to the C C function. @@ -1654,6 +1793,7 @@ The XSUB-writer's interface to the C C function. Found in file handy.h =item Renewc +X The XSUB-writer's interface to the C C function, with cast. @@ -1664,6 +1804,7 @@ cast. Found in file handy.h =item Safefree +X The XSUB-writer's interface to the C C function. @@ -1673,6 +1814,7 @@ The XSUB-writer's interface to the C C function. Found in file handy.h =item savepv +X Perl's version of C. Returns a pointer to a newly allocated string which is a duplicate of C. The size of the string is @@ -1685,6 +1827,7 @@ be freed with the C function. Found in file util.c =item savepvn +X Perl's version of what C 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 function. Found in file util.c =item savesharedpv +X A version of C 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 A version of C/C which gets the string to duplicate from the passed in SV using C @@ -1717,6 +1862,7 @@ the passed in SV using C Found in file util.c =item StructCopy +X 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 The XSUB-writer's interface to the C C function. The C is the destination, C is the number of items, and C is the type. @@ -1736,6 +1883,7 @@ destination, C is the number of items, and C is the type. Found in file handy.h =item ZeroD +X Like C 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 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 Returns the location of the SV in the string delimited by C and C. It returns C if the string can't be found. The C @@ -1775,6 +1925,7 @@ then. Found in file util.c =item form +X
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 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 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 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 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 Test two strings to see if the first, C, is greater than or equal to the second, C. Returns true or false. @@ -1860,6 +2016,7 @@ the second, C. Returns true or false. Found in file handy.h =item strGT +X Test two strings to see if the first, C, is greater than the second, C. Returns true or false. @@ -1870,6 +2027,7 @@ C. Returns true or false. Found in file handy.h =item strLE +X Test two strings to see if the first, C, is less than or equal to the second, C. Returns true or false. @@ -1880,6 +2038,7 @@ second, C. Returns true or false. Found in file handy.h =item strLT +X Test two strings to see if the first, C, is less than the second, C. Returns true or false. @@ -1890,6 +2049,7 @@ C. Returns true or false. Found in file handy.h =item strNE +X 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 Test two strings to see if they are equal. The C parameter indicates the number of bytes to compare. Returns true or false. (A wrapper for @@ -1911,6 +2072,7 @@ C). Found in file handy.h =item strnNE +X Test two strings to see if they are different. The C parameter indicates the number of bytes to compare. Returns true or false. (A @@ -1922,6 +2084,7 @@ wrapper for C). Found in file handy.h =item sv_nolocking +X 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 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 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 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 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 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 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 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 Validates that the SV contains a valid version object. @@ -2041,6 +2212,7 @@ Found in file util.c =over 8 =item grok_bin +X 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 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 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 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 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 For backwards compatibility. Use C instead. @@ -2166,6 +2343,7 @@ For backwards compatibility. Use C instead. Found in file numeric.c =item scan_hex +X For backwards compatibility. Use C instead. @@ -2175,6 +2353,7 @@ For backwards compatibility. Use C instead. Found in file numeric.c =item scan_oct +X For backwards compatibility. Use C instead. @@ -2191,6 +2370,7 @@ Found in file numeric.c =over 8 =item cv_const_sv +X If C is a constant sub eligible for inlining. returns the constant value returned by the sub. Otherwise, returns NULL. @@ -2204,6 +2384,7 @@ L. Found in file op.c =item newCONSTSUB +X Creates a constant sub equivalent to Perl C 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 Used by C to hook up XSUBs as Perl subs. @@ -2228,6 +2410,7 @@ Found in file op.c =over 8 =item pad_sv +X 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 Set up necessary local variables for exception handling. See L. @@ -2255,6 +2439,7 @@ See L. Found in file XSUB.h =item XCPT_CATCH +X Introduces a catch block. See L. @@ -2262,6 +2447,7 @@ Introduces a catch block. See L. Found in file XSUB.h =item XCPT_RETHROW +X Rethrows a previously caught exception. See L. @@ -2271,6 +2457,7 @@ Rethrows a previously caught exception. See L. Found in file XSUB.h =item XCPT_TRY_END +X Ends a try block. See L. @@ -2278,6 +2465,7 @@ Ends a try block. See L. Found in file XSUB.h =item XCPT_TRY_START +X Starts a try block. See L. @@ -2292,6 +2480,7 @@ Found in file XSUB.h =over 8 =item dMARK +X Declare a stack marker variable, C, for the XSUB. See C and C. @@ -2302,6 +2491,7 @@ C. Found in file pp.h =item dORIGMARK +X Saves the original stack mark for the XSUB. See C. @@ -2311,6 +2501,7 @@ Saves the original stack mark for the XSUB. See C. Found in file pp.h =item dSP +X Declares a local copy of perl's stack pointer for the XSUB, available via the C macro. See C. @@ -2321,6 +2512,7 @@ the C macro. See C. Found in file pp.h =item EXTEND +X Used to extend the argument stack for an XSUB's return values. Once used, guarantees that there is room for at least C to be pushed @@ -2332,6 +2524,7 @@ onto the stack. Found in file pp.h =item MARK +X Stack marker variable for the XSUB. See C. @@ -2339,6 +2532,7 @@ Stack marker variable for the XSUB. See C. Found in file pp.h =item mPUSHi +X Push an integer onto the stack. The stack must have room for this element. Handles 'set' magic. Does not use C. See also C, C @@ -2350,6 +2544,7 @@ and C. Found in file pp.h =item mPUSHn +X Push a double onto the stack. The stack must have room for this element. Handles 'set' magic. Does not use C. See also C, C @@ -2361,6 +2556,7 @@ and C. Found in file pp.h =item mPUSHp +X Push a string onto the stack. The stack must have room for this element. The C indicates the length of the string. Handles 'set' magic. Does @@ -2372,6 +2568,7 @@ not use C. See also C, C and C. Found in file pp.h =item mPUSHu +X Push an unsigned integer onto the stack. The stack must have room for this element. Handles 'set' magic. Does not use C. See also C, @@ -2383,6 +2580,7 @@ C and C. Found in file pp.h =item mXPUSHi +X Push an integer onto the stack, extending the stack if necessary. Handles 'set' magic. Does not use C. See also C, C and @@ -2394,6 +2592,7 @@ C. Found in file pp.h =item mXPUSHn +X Push a double onto the stack, extending the stack if necessary. Handles 'set' magic. Does not use C. See also C, C and @@ -2405,6 +2604,7 @@ C. Found in file pp.h =item mXPUSHp +X Push a string onto the stack, extending the stack if necessary. The C indicates the length of the string. Handles 'set' magic. Does not use @@ -2416,6 +2616,7 @@ C. See also C, C and C. Found in file pp.h =item mXPUSHu +X Push an unsigned integer onto the stack, extending the stack if necessary. Handles 'set' magic. Does not use C. See also C, C @@ -2427,6 +2628,7 @@ and C. Found in file pp.h =item ORIGMARK +X The original stack mark for the XSUB. See C. @@ -2434,6 +2636,7 @@ The original stack mark for the XSUB. See C. Found in file pp.h =item POPi +X Pops an integer off the stack. @@ -2443,6 +2646,7 @@ Pops an integer off the stack. Found in file pp.h =item POPl +X Pops a long off the stack. @@ -2452,6 +2656,7 @@ Pops a long off the stack. Found in file pp.h =item POPn +X Pops a double off the stack. @@ -2461,6 +2666,7 @@ Pops a double off the stack. Found in file pp.h =item POPp +X 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 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 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 an SV off the stack. @@ -2497,6 +2706,7 @@ Pops an SV off the stack. Found in file pp.h =item PUSHi +X Push an integer onto the stack. The stack must have room for this element. Handles 'set' magic. Uses C, so C or C should be @@ -2510,6 +2720,7 @@ C. Found in file pp.h =item PUSHMARK +X Opening bracket for arguments on a callback. See C and L. @@ -2520,6 +2731,7 @@ L. Found in file pp.h =item PUSHmortal +X 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. See also @@ -2531,6 +2743,7 @@ C, C and C. Found in file pp.h =item PUSHn +X Push a double onto the stack. The stack must have room for this element. Handles 'set' magic. Uses C, so C or C should be @@ -2544,6 +2757,7 @@ C. Found in file pp.h =item PUSHp +X Push a string onto the stack. The stack must have room for this element. The C indicates the length of the string. Handles 'set' magic. Uses @@ -2557,6 +2771,7 @@ C instead. See also C and C. Found in file pp.h =item PUSHs +X Push an SV onto the stack. The stack must have room for this element. Does not handle 'set' magic. Does not use C. See also C, @@ -2568,6 +2783,7 @@ C and C. Found in file pp.h =item PUSHu +X Push an unsigned integer onto the stack. The stack must have room for this element. Handles 'set' magic. Uses C, so C or C @@ -2581,6 +2797,7 @@ C and C. Found in file pp.h =item PUTBACK +X Closing bracket for XSUB arguments. This is usually handled by C. See C and L for other uses. @@ -2591,6 +2808,7 @@ See C and L for other uses. Found in file pp.h =item SP +X Stack pointer. This is usually handled by C. See C and C. @@ -2599,6 +2817,7 @@ C. Found in file pp.h =item SPAGAIN +X Refetch the stack pointer. Used after a callback. See L. @@ -2608,6 +2827,7 @@ Refetch the stack pointer. Used after a callback. See L. Found in file pp.h =item XPUSHi +X Push an integer onto the stack, extending the stack if necessary. Handles 'set' magic. Uses C, so C or C should be called to @@ -2620,6 +2840,7 @@ from XSUB's - see C instead. See also C and C. Found in file pp.h =item XPUSHmortal +X Push a new mortal SV onto the stack, extending the stack if necessary. Does not handle 'set' magic. Does not use C. See also C, @@ -2631,6 +2852,7 @@ C and C. Found in file pp.h =item XPUSHn +X Push a double onto the stack, extending the stack if necessary. Handles 'set' magic. Uses C, so C or C should be called to @@ -2643,6 +2865,7 @@ from XSUB's - see C instead. See also C and C. Found in file pp.h =item XPUSHp +X Push a string onto the stack, extending the stack if necessary. The C indicates the length of the string. Handles 'set' magic. Uses C, so @@ -2656,6 +2879,7 @@ C instead. See also C and C. Found in file pp.h =item XPUSHs +X Push an SV onto the stack, extending the stack if necessary. Does not handle 'set' magic. Does not use C. See also C, @@ -2667,6 +2891,7 @@ C and C. Found in file pp.h =item XPUSHu +X Push an unsigned integer onto the stack, extending the stack if necessary. Handles 'set' magic. Uses C, so C or C should be @@ -2680,6 +2905,7 @@ C. Found in file pp.h =item XSRETURN +X Return from XSUB, indicating number of items on the stack. This is usually handled by C. @@ -2690,6 +2916,7 @@ handled by C. Found in file XSUB.h =item XSRETURN_EMPTY +X 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 Return an integer from an XSUB immediately. Uses C. @@ -2708,6 +2936,7 @@ Return an integer from an XSUB immediately. Uses C. Found in file XSUB.h =item XSRETURN_NO +X Return C<&PL_sv_no> from an XSUB immediately. Uses C. @@ -2717,6 +2946,7 @@ Return C<&PL_sv_no> from an XSUB immediately. Uses C. Found in file XSUB.h =item XSRETURN_NV +X Return a double from an XSUB immediately. Uses C. @@ -2726,6 +2956,7 @@ Return a double from an XSUB immediately. Uses C. Found in file XSUB.h =item XSRETURN_PV +X Return a copy of a string from an XSUB immediately. Uses C. @@ -2735,6 +2966,7 @@ Return a copy of a string from an XSUB immediately. Uses C. Found in file XSUB.h =item XSRETURN_UNDEF +X Return C<&PL_sv_undef> from an XSUB immediately. Uses C. @@ -2744,6 +2976,7 @@ Return C<&PL_sv_undef> from an XSUB immediately. Uses C. Found in file XSUB.h =item XSRETURN_UV +X Return an integer from an XSUB immediately. Uses C. @@ -2753,6 +2986,7 @@ Return an integer from an XSUB immediately. Uses C. Found in file XSUB.h =item XSRETURN_YES +X Return C<&PL_sv_yes> from an XSUB immediately. Uses C. @@ -2762,6 +2996,7 @@ Return C<&PL_sv_yes> from an XSUB immediately. Uses C. Found in file XSUB.h =item XST_mIV +X Place an integer into the specified position C 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 Place C<&PL_sv_no> into the specified position C on the stack. @@ -2782,6 +3018,7 @@ stack. Found in file XSUB.h =item XST_mNV +X Place a double into the specified position C 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 Place a copy of a string into the specified position C 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 Place C<&PL_sv_undef> into the specified position C on the stack. @@ -2812,6 +3051,7 @@ stack. Found in file XSUB.h =item XST_mYES +X Place C<&PL_sv_yes> into the specified position C on the stack. @@ -2829,6 +3069,7 @@ Found in file XSUB.h =over 8 =item svtype +X An enum of flags for Perl types. These are found in the file B in the C enum. Test these flags with the C macro. @@ -2837,6 +3078,7 @@ in the C enum. Test these flags with the C macro. Found in file sv.h =item SVt_IV +X Integer type flag for scalars. See C. @@ -2844,6 +3086,7 @@ Integer type flag for scalars. See C. Found in file sv.h =item SVt_NV +X Double type flag for scalars. See C. @@ -2851,6 +3094,7 @@ Double type flag for scalars. See C. Found in file sv.h =item SVt_PV +X Pointer type flag for scalars. See C. @@ -2858,6 +3102,7 @@ Pointer type flag for scalars. See C. Found in file sv.h =item SVt_PVAV +X Type flag for arrays. See C. @@ -2865,6 +3110,7 @@ Type flag for arrays. See C. Found in file sv.h =item SVt_PVCV +X Type flag for code refs. See C. @@ -2872,6 +3118,7 @@ Type flag for code refs. See C. Found in file sv.h =item SVt_PVHV +X Type flag for hashes. See C. @@ -2879,6 +3126,7 @@ Type flag for hashes. See C. Found in file sv.h =item SVt_PVMG +X Type flag for blessed scalars. See C. @@ -2893,6 +3141,7 @@ Found in file sv.h =over 8 =item get_sv +X Returns the SV of the specified Perl scalar. If C is set and the Perl variable does not exist then it will be created. If C 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 Test if the content of an SV looks like a number (or is a number). C and C 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 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 Creates an RV wrapper for an SV. The reference count for the original SV is B incremented. @@ -2937,6 +3189,7 @@ SV is B incremented. Found in file sv.c =item NEWSV +X Creates a new SV. A non-zero C parameter indicates the number of bytes of preallocated string space the SV should have. An extra byte for a @@ -2950,6 +3203,7 @@ C is an integer id between 0 and 1299 (used to identify leaks). Found in file handy.h =item newSV +X 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 @@ -2961,6 +3215,7 @@ macro. Found in file sv.c =item newSVhek +X 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 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 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 Creates a new SV and copies a string into it. The reference count for the SV is set to 1. If C is zero, Perl will compute the length using @@ -3003,6 +3261,7 @@ strlen(). For efficiency, consider using C instead. Found in file sv.c =item newSVpvf +X Creates a new SV and initializes it with the string formatted like C. @@ -3013,6 +3272,7 @@ C. Found in file sv.c =item newSVpvn +X Creates a new SV and copies a string into it. The reference count for the SV is set to 1. Note that if C is zero, Perl will create a zero length @@ -3025,6 +3285,7 @@ C bytes long. If the C argument is NULL the new SV will be undefined. Found in file sv.c =item newSVpvn_share +X 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 Creates a new SV for the RV, C, to point to. If C is not an RV then it will be upgraded to one. If C is non-null then the new SV will @@ -3052,6 +3314,7 @@ reference count is 1. Found in file sv.c =item newSVsv +X Creates a new SV which is an exact duplicate of the original SV. (Uses C). @@ -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 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 Returns the length of the string which is in the SV. See C. @@ -3081,6 +3346,7 @@ Returns the length of the string which is in the SV. See C. Found in file sv.h =item SvCUR_set +X Set the current length of the string which is in the SV. See C and C. @@ -3091,6 +3357,7 @@ and C. Found in file sv.h =item SvEND +X Returns a pointer to the last character in the string which is in the SV. See C. Access the character as *(SvEND(sv)). @@ -3101,6 +3368,7 @@ See C. Access the character as *(SvEND(sv)). Found in file sv.h =item SvGROW +X 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 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 Returns a boolean indicating whether the SV contains an integer. Checks the B setting. Use C. @@ -3132,6 +3402,7 @@ the B setting. Use C. Found in file sv.h =item SvIOK_notUV +X 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 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 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 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 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 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 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 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 Coerces the given SV to an integer and returns it. See C 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 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. @@ -3227,6 +3507,7 @@ Only use when you are sure SvIOK is true. See also C. Found in file sv.h =item SvIVx +X Coerces the given SV to an integer and returns it. Guarantees to evaluate sv only once. Use the more efficient C otherwise. @@ -3237,6 +3518,7 @@ sv only once. Use the more efficient C otherwise. Found in file sv.h =item SvIV_nomg +X Like C but doesn't process magic. @@ -3246,6 +3528,7 @@ Like C but doesn't process magic. Found in file sv.h =item SvIV_set +X 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. @@ -3258,6 +3541,7 @@ C instead of the lvalue assignment to C. Found in file sv.h =item SvLEN +X Returns the size of the string buffer in the SV, not including any part attributable to C. See C. @@ -3268,6 +3552,7 @@ attributable to C. See C. Found in file sv.h =item SvLEN_set +X Set the actual length of the string which is in the SV. See C. @@ -3277,6 +3562,7 @@ Set the actual length of the string which is in the SV. See C. Found in file sv.h =item SvMAGIC_set +X Set the value of the MAGIC pointer in sv to val. See C. @@ -3286,6 +3572,7 @@ Set the value of the MAGIC pointer in sv to val. See C. Found in file sv.h =item SvNIOK +X 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 Returns a boolean indicating whether the SV contains a number, integer or double. Checks the B setting. Use C. @@ -3306,6 +3594,7 @@ double. Checks the B setting. Use C. Found in file sv.h =item SvNIOK_off +X 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 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 Returns a boolean indicating whether the SV contains a double. Checks the B setting. Use C. @@ -3334,6 +3625,7 @@ B setting. Use C. Found in file sv.h =item SvNOK_off +X 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 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 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 Coerce the given SV to a double and return it. See C 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 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. @@ -3381,6 +3677,7 @@ Only use when you are sure SvNOK is true. See also C. Found in file sv.h =item SvNVx +X Coerces the given SV to a double and returns it. Guarantees to evaluate sv only once. Use the more efficient C otherwise. @@ -3391,6 +3688,7 @@ sv only once. Use the more efficient C otherwise. Found in file sv.h =item SvNV_set +X Set the value of the NV pointer in sv to val. See C. @@ -3400,6 +3698,7 @@ Set the value of the NV pointer in sv to val. See C. Found in file sv.h =item SvOK +X 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 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 Returns a boolean indicating whether the SV contains a character string. @@ -3432,6 +3733,7 @@ string. Found in file sv.h =item SvPOKp +X Returns a boolean indicating whether the SV contains a character string. Checks the B setting. Use C. @@ -3442,6 +3744,7 @@ Checks the B setting. Use C. Found in file sv.h =item SvPOK_off +X 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 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 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 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 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 for a version which guarantees to evaluate sv only once. Found in file sv.h =item SvPVbyte +X Like C, but converts sv to byte representation first if necessary. @@ -3501,6 +3809,7 @@ Like C, but converts sv to byte representation first if necessary. Found in file sv.h =item SvPVbytex +X Like C, but converts sv to byte representation first if necessary. Guarantees to evaluate sv only once; use the more efficient C @@ -3512,6 +3821,7 @@ otherwise. Found in file sv.h =item SvPVbytex_force +X Like C, but converts sv to byte representation first if necessary. Guarantees to evaluate sv only once; use the more efficient C @@ -3523,6 +3833,7 @@ otherwise. Found in file sv.h =item SvPVbyte_force +X Like C, but converts sv to byte representation first if necessary. @@ -3532,6 +3843,7 @@ Like C, but converts sv to byte representation first if necessary. Found in file sv.h =item SvPVbyte_nolen +X Like C, but converts sv to byte representation first if necessary. @@ -3541,6 +3853,7 @@ Like C, but converts sv to byte representation first if necessary. Found in file sv.h =item SvPVutf8 +X Like C, but converts sv to utf8 first if necessary. @@ -3550,6 +3863,7 @@ Like C, but converts sv to utf8 first if necessary. Found in file sv.h =item SvPVutf8x +X Like C, but converts sv to utf8 first if necessary. Guarantees to evaluate sv only once; use the more efficient C @@ -3561,6 +3875,7 @@ otherwise. Found in file sv.h =item SvPVutf8x_force +X Like C, but converts sv to utf8 first if necessary. Guarantees to evaluate sv only once; use the more efficient C @@ -3572,6 +3887,7 @@ otherwise. Found in file sv.h =item SvPVutf8_force +X Like C, but converts sv to utf8 first if necessary. @@ -3581,6 +3897,7 @@ Like C, but converts sv to utf8 first if necessary. Found in file sv.h =item SvPVutf8_nolen +X Like C, but converts sv to utf8 first if necessary. @@ -3590,6 +3907,7 @@ Like C, but converts sv to utf8 first if necessary. Found in file sv.h =item SvPVX +X 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 A version of C which guarantees to evaluate sv only once. @@ -3609,6 +3928,7 @@ A version of C which guarantees to evaluate sv only once. Found in file sv.h =item SvPV_force +X Like C but will force the SV into containing just a string (C). You want force if you are going to update the C @@ -3620,6 +3940,7 @@ directly. Found in file sv.h =item SvPV_force_nomg +X Like C but will force the SV into containing just a string (C). You want force if you are going to update the C @@ -3631,6 +3952,7 @@ directly. Doesn't process magic. Found in file sv.h =item SvPV_nolen +X 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. Handles 'get' magic. Found in file sv.h =item SvPV_nomg +X Like C but doesn't process magic. @@ -3651,6 +3974,7 @@ Like C but doesn't process magic. Found in file sv.h =item SvPV_set +X Set the value of the PV pointer in sv to val. See C. @@ -3660,6 +3984,7 @@ Set the value of the PV pointer in sv to val. See C. Found in file sv.h =item SvREFCNT +X 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 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 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 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 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 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 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 Set the value of the RV pointer in sv to val. See C. @@ -3732,6 +4064,7 @@ Set the value of the RV pointer in sv to val. See C. Found in file sv.h =item SvSTASH +X 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 Set the value of the STASH pointer in sv to val. See C. @@ -3750,6 +4084,7 @@ Set the value of the STASH pointer in sv to val. See C. Found in file sv.h =item SvTAINT +X 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 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 Untaints an SV. Be I 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 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 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 Returns the type of the SV. See C. @@ -3811,6 +4151,7 @@ Returns the type of the SV. See C. Found in file sv.h =item SvUOK +X 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 Used to upgrade an SV to a more complex form. Uses C to perform the upgrade if necessary. See C. @@ -3830,6 +4172,7 @@ perform the upgrade if necessary. See C. Found in file sv.h =item SvUTF8 +X 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 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 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 Coerces the given SV to an unsigned integer and returns it. See C 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 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. @@ -3878,6 +4225,7 @@ Only use when you are sure SvIOK is true. See also C. Found in file sv.h =item SvUVx +X Coerces the given SV to an unsigned integer and returns it. Guarantees to evaluate sv only once. Use the more efficient C otherwise. @@ -3888,6 +4236,7 @@ evaluate sv only once. Use the more efficient C otherwise. Found in file sv.h =item SvUV_nomg +X Like C but doesn't process magic. @@ -3897,6 +4246,7 @@ Like C but doesn't process magic. Found in file sv.h =item SvUV_set +X Set the value of the UV pointer in sv to val. See C. @@ -3906,6 +4256,7 @@ Set the value of the UV pointer in sv to val. See C. Found in file sv.h =item SvVOK +X 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 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 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 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 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 and C macros. Found in file sv.c =item sv_2mortal +X 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. Found in file sv.c =item sv_2nv +X Return the num value of an SV, doing any necessary string or integer conversion, magic etc. Normally used via the C and C @@ -3981,6 +4338,7 @@ macros. Found in file sv.c =item sv_2pvbyte +X 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 macro. Found in file sv.c =item sv_2pvbyte_nolen +X 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 macro. Found in file sv.c =item sv_2pvutf8 +X 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 macro. Found in file sv.c =item sv_2pvutf8_nolen +X 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 macro. Found in file sv.c =item sv_2pv_flags +X 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 Like C, but doesn't return the length too. You should usually use the macro wrapper C instead. @@ -4052,6 +4415,7 @@ use the macro wrapper C instead. Found in file sv.c =item sv_2uv_flags +X 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 and C macros. Found in file sv.c =item sv_backoff +X Remove any string offset. You should normally use the C macro wrapper instead. @@ -4073,6 +4438,7 @@ wrapper instead. Found in file sv.c =item sv_bless +X Blesses an SV into a specified package. The SV must be an RV. The package must be designated by its stash (see C). The reference count @@ -4084,6 +4450,7 @@ of the SV is unaffected. Found in file sv.c =item sv_catpv +X 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. Found in file sv.c =item sv_catpvf +X Processes its arguments like C 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 Like C, but also handles 'set' magic. @@ -4119,6 +4488,7 @@ Like C, but also handles 'set' magic. Found in file sv.c =item sv_catpvn +X Concatenates the string onto the end of the string which is in the SV. The C 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. Found in file sv.c =item sv_catpvn_flags +X Concatenates the string onto the end of the string which is in the SV. The C 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 Like C, but also handles 'set' magic. @@ -4154,6 +4526,7 @@ Like C, but also handles 'set' magic. Found in file sv.c =item sv_catpvn_nomg +X Like C but doesn't process magic. @@ -4163,6 +4536,7 @@ Like C but doesn't process magic. Found in file sv.h =item sv_catpv_mg +X Like C, but also handles 'set' magic. @@ -4172,6 +4546,7 @@ Like C, but also handles 'set' magic. Found in file sv.c =item sv_catsv +X Concatenates the string from SV C onto the end of the string in SV C. Modifies C but not C. Handles 'get' magic, but @@ -4183,6 +4558,7 @@ not 'set' magic. See C. Found in file sv.c =item sv_catsv_flags +X Concatenates the string from SV C onto the end of the string in SV C. Modifies C but not C. If C has C @@ -4195,6 +4571,7 @@ and C are implemented in terms of this function. Found in file sv.c =item sv_catsv_mg +X Like C, but also handles 'set' magic. @@ -4204,6 +4581,7 @@ Like C, but also handles 'set' magic. Found in file sv.c =item sv_catsv_nomg +X Like C but doesn't process magic. @@ -4213,6 +4591,7 @@ Like C but doesn't process magic. Found in file sv.h =item sv_chop +X Efficient removal of characters from the beginning of the string buffer. SvPOK(sv) must be true and the C 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 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 freed, although @@ -4242,6 +4622,7 @@ instead. Found in file sv.c =item sv_cmp +X Compares the strings in two SVs. Returns -1, 0, or 1 indicating whether the string in C 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. Found in file sv.c =item sv_cmp_locale +X 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. See also C. Found in file sv.c =item sv_collxfrm +X 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 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 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 Returns a boolean indicating whether the SV is derived from the specified class. This is the function that implements C. It works @@ -4315,6 +4701,7 @@ for class names as well as for objects. Found in file universal.c =item sv_eq +X 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 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. Found in file sv.c =item sv_force_normal_flags +X 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 Decrement an SV's reference count, and if it drops to zero, call C to invoke destructors and free up any memory used by @@ -4366,6 +4756,7 @@ Normally called via a wrapper macro C. Found in file sv.c =item sv_gets +X 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 Expands the character buffer in the SV. If necessary, uses C and upgrades the SV to C. Returns a pointer to the character buffer. @@ -4387,6 +4779,7 @@ Use the C wrapper instead. Found in file sv.c =item sv_inc +X 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 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 Returns a boolean indicating whether the SV is blessed into the specified class. This does not check for subtypes; use C to verify @@ -4418,6 +4813,7 @@ an inheritance relationship. Found in file sv.c =item sv_isobject +X 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 A private implementation of the C 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 Returns the length of the string in the SV. Handles magic and type coercion. See also C, which gives raw access to the xpv_cur slot. @@ -4449,6 +4847,7 @@ coercion. See also C, which gives raw access to the xpv_cur slot. Found in file sv.c =item sv_len_utf8 +X 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 Adds magic to an SV. First upgrades C to type C if necessary, then adds a new magic item of type C 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 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 and is stored as-is with its REFCNT incremented. Found in file sv.c =item sv_mortalcopy +X Creates a new SV which is a copy of the original SV (using C). The new SV is marked as mortal. It will be destroyed "soon", either by an @@ -4508,6 +4910,7 @@ statement boundaries. See also C and C. Found in file sv.c =item sv_newmortal +X 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 and C. Found in file sv.c =item sv_newref +X Increment an SV's reference count. Use the C wrapper instead. @@ -4530,6 +4934,7 @@ instead. Found in file sv.c =item sv_nv +X A private implementation of the C 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 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 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 Use the C macro instead @@ -4573,6 +4981,7 @@ Use the C macro instead Found in file sv.c =item sv_pvbyte +X Use C instead. @@ -4582,6 +4991,7 @@ Use C instead. Found in file sv.c =item sv_pvbyten +X A private implementation of the C 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 A private implementation of the C 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 A private implementation of the C 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 Get a sensible string out of the SV somehow. A private implementation of the C 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 Get a sensible string out of the SV somehow. If C has C bit set, will C on C if @@ -4639,6 +5053,7 @@ C and C Found in file sv.c =item sv_pvutf8 +X Use the C macro instead @@ -4648,6 +5063,7 @@ Use the C macro instead Found in file sv.c =item sv_pvutf8n +X A private implementation of the C 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 A private implementation of the C 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 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 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 or one of its many macro front-ends. Found in file sv.c =item sv_report_used +X 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 Underlying implementation for the C 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 Weaken a reference: set the C flag on this RV; give the referred-to SV C magic if it hasn't already; and @@ -4724,6 +5146,7 @@ associated with that magic. Found in file sv.c =item sv_setiv +X Copies an integer into the given SV, upgrading first if necessary. Does not handle 'set' magic. See also C. @@ -4734,6 +5157,7 @@ Does not handle 'set' magic. See also C. Found in file sv.c =item sv_setiv_mg +X Like C, but also handles 'set' magic. @@ -4743,6 +5167,7 @@ Like C, but also handles 'set' magic. Found in file sv.c =item sv_setnv +X Copies a double into the given SV, upgrading first if necessary. Does not handle 'set' magic. See also C. @@ -4753,6 +5178,7 @@ Does not handle 'set' magic. See also C. Found in file sv.c =item sv_setnv_mg +X Like C, but also handles 'set' magic. @@ -4762,6 +5188,7 @@ Like C, but also handles 'set' magic. Found in file sv.c =item sv_setpv +X Copies a string into an SV. The string must be null-terminated. Does not handle 'set' magic. See C. @@ -4772,6 +5199,7 @@ handle 'set' magic. See C. Found in file sv.c =item sv_setpvf +X Works like C but copies the text into the SV instead of appending it. Does not handle 'set' magic. See C. @@ -4782,6 +5210,7 @@ appending it. Does not handle 'set' magic. See C. Found in file sv.c =item sv_setpvf_mg +X Like C, but also handles 'set' magic. @@ -4791,6 +5220,7 @@ Like C, but also handles 'set' magic. Found in file sv.c =item sv_setpviv +X Copies an integer into the given SV, also updating its string value. Does not handle 'set' magic. See C. @@ -4801,6 +5231,7 @@ Does not handle 'set' magic. See C. Found in file sv.c =item sv_setpviv_mg +X Like C, but also handles 'set' magic. @@ -4810,6 +5241,7 @@ Like C, but also handles 'set' magic. Found in file sv.c =item sv_setpvn +X Copies a string into an SV. The C parameter indicates the number of bytes to be copied. If the C argument is NULL the SV will become @@ -4821,6 +5253,7 @@ undefined. Does not handle 'set' magic. See C. Found in file sv.c =item sv_setpvn_mg +X Like C, but also handles 'set' magic. @@ -4830,6 +5263,7 @@ Like C, but also handles 'set' magic. Found in file sv.c =item sv_setpv_mg +X Like C, but also handles 'set' magic. @@ -4839,6 +5273,7 @@ Like C, but also handles 'set' magic. Found in file sv.c =item sv_setref_iv +X Copies an integer into a new SV, optionally blessing the SV. The C 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 Copies a double into a new SV, optionally blessing the SV. The C 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 Copies a pointer into a new SV, optionally blessing the SV. The C argument will be upgraded to an RV. That RV will be modified to point to @@ -4884,6 +5321,7 @@ Note that C copies the string while this copies the pointer. Found in file sv.c =item sv_setref_pvn +X Copies a string into a new SV, optionally blessing the SV. The length of the string must be specified with C. The C argument will be upgraded to @@ -4900,6 +5338,7 @@ Note that C copies the pointer while this copies the string. Found in file sv.c =item sv_setref_uv +X Copies an unsigned integer into a new SV, optionally blessing the SV. The C 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 Copies the contents of the source SV C into the destination SV C. The source SV may be destroyed if it is mortal, so don't use this @@ -4930,6 +5370,7 @@ C. Found in file sv.c =item sv_setsv_flags +X Copies the contents of the source SV C into the destination SV C. 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 Like C, but also handles 'set' magic. @@ -4963,6 +5405,7 @@ Like C, but also handles 'set' magic. Found in file sv.c =item sv_setsv_nomg +X Like C but doesn't process magic. @@ -4972,6 +5415,7 @@ Like C but doesn't process magic. Found in file sv.h =item sv_setuv +X Copies an unsigned integer into the given SV, upgrading first if necessary. Does not handle 'set' magic. See also C. @@ -4982,6 +5426,7 @@ Does not handle 'set' magic. See also C. Found in file sv.c =item sv_setuv_mg +X Like C, but also handles 'set' magic. @@ -4991,6 +5436,7 @@ Like C, but also handles 'set' magic. Found in file sv.c =item sv_taint +X Taint an SV. Use C instead. void sv_taint(SV* sv) @@ -4999,6 +5445,7 @@ Taint an SV. Use C instead. Found in file sv.c =item sv_tainted +X Test an SV for taintedness. Use C instead. bool sv_tainted(SV* sv) @@ -5007,6 +5454,7 @@ Test an SV for taintedness. Use C instead. Found in file sv.c =item sv_true +X Returns true if the SV has a true value by Perl's rules. Use the C macro instead, which may call C or may @@ -5018,6 +5466,7 @@ instead use an in-line version. Found in file sv.c =item sv_unmagic +X Removes all magic of type C from an SV. @@ -5027,6 +5476,7 @@ Removes all magic of type C from an SV. Found in file sv.c =item sv_unref +X 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. Found in file sv.c =item sv_unref_flags +X 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. Found in file sv.c =item sv_untaint +X Untaint an SV. Use C instead. void sv_untaint(SV* sv) @@ -5062,6 +5514,7 @@ Untaint an SV. Use C instead. Found in file sv.c =item sv_upgrade +X 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 macro wrapper. See also C. Found in file sv.c =item sv_usepvn +X Tells an SV to use C 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. Found in file sv.c =item sv_usepvn_mg +X Like C, but also handles 'set' magic. @@ -5097,6 +5552,7 @@ Like C, but also handles 'set' magic. Found in file sv.c =item sv_utf8_decode +X If the PV of the SV is an octet sequence in UTF-8 and contains a multiple-byte character, the C flag is turned on @@ -5113,6 +5569,7 @@ removed without notice. Found in file sv.c =item sv_utf8_downgrade +X 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 Converts the PV of an SV to UTF-8, but then turns the C 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 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 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 A private implementation of the C 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 Processes its arguments like C and appends the formatted output to an SV. Does not handle 'set' magic. See C. @@ -5195,6 +5657,7 @@ Usually used via its frontend C. Found in file sv.c =item sv_vcatpvfn +X Processes its arguments like C 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 and C. Found in file sv.c =item sv_vcatpvf_mg +X Like C, but also handles 'set' magic. @@ -5221,6 +5685,7 @@ Usually used via its frontend C. Found in file sv.c =item sv_vsetpvf +X Works like C but copies the text into the SV instead of appending it. Does not handle 'set' magic. See C. @@ -5233,6 +5698,7 @@ Usually used via its frontend C. Found in file sv.c =item sv_vsetpvfn +X Works like C but copies the text into the SV instead of appending it. @@ -5245,6 +5711,7 @@ Usually used via one of its frontends C and C. Found in file sv.c =item sv_vsetpvf_mg +X Like C, but also handles 'set' magic. @@ -5263,6 +5730,7 @@ Found in file sv.c =over 8 =item bytes_from_utf8 +X Converts a string C of length C from UTF-8 into byte encoding. Unlike C but like C, returns a pointer to @@ -5280,6 +5748,7 @@ removed without notice. Found in file utf8.c =item bytes_to_utf8 +X Converts a string C of length C from ASCII into UTF-8 encoding. Returns a pointer to the newly-created string, and sets C to @@ -5297,6 +5766,7 @@ removed without notice. Found in file utf8.c =item ibcmp_utf8 +X 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 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 Returns true if first C 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 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 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 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 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 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 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 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 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 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 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 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 Returns the native character value of the first character in the string C which is assumed to be in UTF-8 encoding; C 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 Bottom level UTF-8 decode routine. Returns the unicode code point value of the first character in the string C @@ -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 Returns the number of UTF-8 characters between the UTF-8 pointers C and C. @@ -5587,6 +6073,7 @@ same UTF-8 buffer. Found in file utf8.c =item utf8_hop +X Return the UTF-8 pointer C displaced by C 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 Return the length of the UTF-8 char encoded string C in characters. Stops at C (inclusive). If C s> or if the scan would end @@ -5612,6 +6100,7 @@ up past C, croaks. Found in file utf8.c =item utf8_to_bytes +X Converts a string C of length C from UTF-8 into byte encoding. Unlike C, this over-writes the original string, and @@ -5627,6 +6116,7 @@ removed without notice. Found in file utf8.c =item utf8_to_uvchr +X Returns the native character value of the first character in the string C which is assumed to be in UTF-8 encoding; C 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 Returns the Unicode code point of the first character in the string C which is assumed to be in UTF-8 encoding; C 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 Adds the UTF-8 representation of the Native codepoint C to the end of the string C; C should be have at least C 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 Adds the UTF-8 representation of the Unicode codepoint C to the end of the string C; C should be have at least C free @@ -5709,6 +6202,7 @@ Found in file utf8.c =over 8 =item ax +X Variable which is setup by C to indicate the stack base offset, used by the C, C and C macros. The C macro @@ -5720,6 +6214,7 @@ must be called prior to setup the C variable. Found in file XSUB.h =item CLASS +X Variable which is setup by C to indicate the class name for a C++ XS constructor. This is always a C. See C. @@ -5730,6 +6225,7 @@ class name for a C++ XS constructor. This is always a C. See C. Found in file XSUB.h =item dAX +X Sets up the C variable. This is usually handled automatically by C by calling C. @@ -5740,6 +6236,7 @@ This is usually handled automatically by C by calling C. Found in file XSUB.h =item dAXMARK +X Sets up the C variable and stack marker variable C. This is usually handled automatically by C by calling C. @@ -5750,6 +6247,7 @@ This is usually handled automatically by C by calling C. Found in file XSUB.h =item dITEMS +X Sets up the C variable. This is usually handled automatically by C by calling C. @@ -5760,6 +6258,7 @@ This is usually handled automatically by C by calling C. Found in file XSUB.h =item dUNDERBAR +X Sets up the C variable for an XSUB that wishes to use C. @@ -5770,6 +6269,7 @@ C. Found in file XSUB.h =item dXSARGS +X Sets up stack and mark pointers for an XSUB, calling dSP and dMARK. Sets up the C and C variables by calling C and C. @@ -5781,6 +6281,7 @@ This is usually handled automatically by C. Found in file XSUB.h =item dXSI32 +X Sets up the C variable for an XSUB which has aliases. This is usually handled automatically by C. @@ -5791,6 +6292,7 @@ handled automatically by C. Found in file XSUB.h =item items +X Variable which is setup by C to indicate the number of items on the stack. See L. @@ -5801,6 +6303,7 @@ items on the stack. See L. Found in file XSUB.h =item ix +X Variable which is setup by C to indicate which of an XSUB's aliases was used to invoke it. See L. @@ -5811,6 +6314,7 @@ XSUB's aliases was used to invoke it. See L. Found in file XSUB.h =item newXSproto +X Used by C 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 Variable which is setup by C to hold the return value for an XSUB. This is always the proper type for the XSUB. See @@ -5830,6 +6335,7 @@ L. Found in file XSUB.h =item ST +X 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 Variable which is setup by C to designate the object in a C++ XSUB. This is always the proper type for the C++ object. See C and @@ -5850,6 +6357,7 @@ L. Found in file XSUB.h =item UNDERBAR +X 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 Macro to declare an XSUB and its C parameter list. This is handled by C. @@ -5866,6 +6375,7 @@ C. Found in file XSUB.h =item XS_VERSION +X The version identifier for an XS module. This is usually handled automatically by C. See C. @@ -5874,6 +6384,7 @@ handled automatically by C. See C. Found in file XSUB.h =item XS_VERSION_BOOTCHECK +X Macro to verify that a PM module's $VERSION variable matches the XS module's C variable. This is usually handled automatically by @@ -5892,6 +6403,7 @@ Found in file XSUB.h =over 8 =item croak +X This is the XSUB-writer's interface to Perl's C function. Normally call this function the same way you call the C C @@ -5911,6 +6423,7 @@ C<$@> and then pass C to croak(): Found in file util.c =item warn +X This is the XSUB-writer's interface to Perl's C function. Call this function the same way you call the C C function. See C. diff --git a/pod/perlintern.pod b/pod/perlintern.pod index e71e3a3..ee9de89 100644 --- a/pod/perlintern.pod +++ b/pod/perlintern.pod @@ -4,6 +4,7 @@ perlintern - autogenerated documentation of purely B Perl functions =head1 DESCRIPTION +X X 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! =over 8 =item CvWEAKOUTSIDE +X Each CV has a pointer, C, 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 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 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 Get the value from slot C 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 |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 Return the flags for the current compiling pad name at offset C. Assumes a valid slot entry. @@ -126,6 +133,7 @@ at offset C. Assumes a valid slot entry. Found in file pad.h =item PAD_COMPNAME_GEN +X The generation number of the name at offset C in the current compiling pad (lvalue). Note that C is hijacked for this purpose. @@ -136,6 +144,7 @@ compiling pad (lvalue). Note that C is hijacked for this purpose. Found in file pad.h =item PAD_COMPNAME_GEN_set +X Sets the generation number of the name at offset C in the current ling pad (lvalue) to C. Note that C is hijacked for this purpose. @@ -146,6 +155,7 @@ ling pad (lvalue) to C. Note that C is hijacked for this purpos Found in file pad.h =item PAD_COMPNAME_OURSTASH +X Return the stash associated with an C variable. Assumes the slot entry is a valid C lexical. @@ -156,6 +166,7 @@ Assumes the slot entry is a valid C lexical. Found in file pad.h =item PAD_COMPNAME_PV +X Return the name of the current compiling pad name at offset C. Assumes a valid slot entry. @@ -166,6 +177,7 @@ at offset C. Assumes a valid slot entry. Found in file pad.h =item PAD_COMPNAME_TYPE +X Return the type (stash) of the current compiling pad name at offset C. Must be a valid name. Returns null if not typed. @@ -176,6 +188,7 @@ C. Must be a valid name. Returns null if not typed. Found in file pad.h =item PAD_DUP +X Clone a padlist. @@ -185,6 +198,7 @@ Clone a padlist. Found in file pad.h =item PAD_RESTORE_LOCAL +X 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 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 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 Set the slot at offset C in the current pad to C - 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 Set the current pad to be pad C 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 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 Get the value at offset C 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 Lightweight and lvalue version of C. Get or set the value at offset C in the current pad. Unlike C, 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 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 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 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 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 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. Found in file intrpvar.h =item PL_DBsub +X 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. Found in file intrpvar.h =item PL_DBtrace +X 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. Found in file intrpvar.h =item PL_dowarn +X 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 The GV which was last used for a filehandle input operation. (C<< >>) @@ -381,6 +411,7 @@ The GV which was last used for a filehandle input operation. (C<< >>) Found in file thrdvar.h =item PL_ofs_sv +X 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 The input record separator - C<$/> in Perl space. @@ -406,6 +438,7 @@ Found in file thrdvar.h =over 8 =item is_gv_magical +X Returns C 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 Returns C 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 Function called by C to spawn a glob (or do the glob inside perl on VMS). This code used to be inline, but now perl uses C @@ -460,6 +495,7 @@ Found in file doio.c =over 8 =item mg_localize +X 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 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 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 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 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 "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 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 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 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 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 Check for duplicate declarations: report any of: * a my in the current scope with the same name; @@ -655,6 +701,7 @@ C indicates that the name to check is an 'our' declaration Found in file pad.c =item pad_findlex +X 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 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 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 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 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 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 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 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 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 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 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 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 Declare Just C. This is actually identical to C, and declares a local copy of perl's stack pointer, available via the C macro. @@ -824,6 +883,7 @@ old (Perl 5.005) thread model.) Found in file pp.h =item LVRET +X 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 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 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 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 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 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 Deallocate the memory used by all arenas. Note that all the individual SV heads and bodies within the arenas must already have been freed. diff --git a/proto.h b/proto.h index 2dc1eaf..191f596 100644 --- a/proto.h +++ b/proto.h @@ -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)