Regen toc.
[p5sagit/p5-mst-13.2.git] / pod / perlapi.pod
index 76afa0e..98abdc1 100644 (file)
@@ -1201,7 +1201,7 @@ Found in file sv.c
 Creates a new SV.  A non-zero C<len> parameter indicates the number of
 bytes of preallocated string space the SV should have.  An extra byte for a
 tailing NUL is also reserved.  (SvPOK is not set for the SV even if string
-space is allocated.)  The reference count for the new SV is set to 1. 
+space is allocated.)  The reference count for the new SV is set to 1.
 C<id> is an integer id between 0 and 1299 (used to identify leaks).
 
        SV*     NEWSV(int id, STRLEN len)
@@ -2151,6 +2151,16 @@ Tells an SV that it is a string and disables all other OK bits.
 =for hackers
 Found in file sv.h
 
+=item SvPOK_only_UTF8
+
+Tells an SV that it is a UTF8 string (do not use frivolously)
+and disables all other OK bits.
+  
+       void    SvPOK_only_UTF8(SV* sv)
+
+=for hackers
+Found in file sv.h
+
 =item SvPV
 
 Returns a pointer to the string in the SV, or a stringified form of the SV
@@ -2345,19 +2355,19 @@ false, defined or undefined.  Does not handle 'get' magic.
 =for hackers
 Found in file sv.h
 
-=item SvTYPE
-
-Returns the type of the SV.  See C<svtype>.
+=item svtype
 
-       svtype  SvTYPE(SV* sv)
+An enum of flags for Perl types.  These are found in the file B<sv.h> 
+in the C<svtype> enum.  Test these flags with the C<SvTYPE> macro.
 
 =for hackers
 Found in file sv.h
 
-=item svtype
+=item SvTYPE
 
-An enum of flags for Perl types.  These are found in the file B<sv.h> 
-in the C<svtype> enum.  Test these flags with the C<SvTYPE> macro.
+Returns the type of the SV.  See C<svtype>.
+
+       svtype  SvTYPE(SV* sv)
 
 =for hackers
 Found in file sv.h
@@ -2421,6 +2431,33 @@ perform the upgrade if necessary.  See C<svtype>.
 =for hackers
 Found in file sv.h
 
+=item SvUTF8
+
+Returns a boolean indicating whether the SV contains UTF-8 encoded data.
+
+       void    SvUTF8(SV* sv)
+
+=for hackers
+Found in file sv.h
+
+=item SvUTF8_off
+
+Unsets the UTF8 status of an SV.
+
+       void    SvUTF8_off(SV *sv)
+
+=for hackers
+Found in file sv.h
+
+=item SvUTF8_on
+
+Tells an SV that it is a string and encoded in UTF8.  Do not use frivolously.
+
+       void    SvUTF8_on(SV *sv)
+
+=for hackers
+Found in file sv.h
+
 =item SvUV
 
 Coerces the given SV to an unsigned integer and returns it.
@@ -3148,7 +3185,7 @@ Found in file handy.h
 Returns true if first C<len> bytes of the given string form valid a UTF8
 string, false otherwise.
 
-       bool_utf8_string        U8 *s(STRLEN len)
+       is_utf8_string  U8 *s(STRLEN len)
 
 =for hackers
 Found in file utf8.c
@@ -3158,13 +3195,46 @@ Found in file utf8.c
 Converts a string C<s> of length C<len> from UTF8 into byte encoding.
 Unlike C<bytes_to_utf8>, this over-writes the original string, and
 updates len to contain the new length.
-Returns zero on failure leaving the string and len unchanged
+Returns zero on failure, setting C<len> to -1.
 
        U8 *    utf8_to_bytes(U8 *s, STRLEN *len)
 
 =for hackers
 Found in file utf8.c
 
+=item utf8_to_uv
+
+Returns the character value of the first character in the string C<s>
+which is assumed to be in UTF8 encoding; C<retlen> will be set to the
+length, in bytes, of that character, and the pointer C<s> will be
+advanced to the end of the character.
+
+If C<s> does not point to a well-formed UTF8 character, an optional UTF8
+warning is produced.
+
+       U8* s   utf8_to_uv(I32 *retlen)
+
+=for hackers
+Found in file utf8.c
+
+=item utf8_to_uv_chk
+
+Returns the character value of the first character in the string C<s>
+which is assumed to be in UTF8 encoding; C<retlen> will be set to the
+length, in bytes, of that character, and the pointer C<s> will be
+advanced to the end of the character.
+
+If C<s> does not point to a well-formed UTF8 character, the behaviour
+is dependent on the value of C<checking>: if this is true, it is
+assumed that the caller will raise a warning, and this function will
+set C<retlen> to C<-1> and return. If C<checking> is not true, an optional UTF8
+warning is produced.
+
+       U8* s   utf8_to_uv_chk(I32 *retlen, I32 checking)
+
+=for hackers
+Found in file utf8.c
+
 =item warn
 
 This is the XSUB-writer's interface to Perl's C<warn> function.  Use this