[win32] various tweaks to makefiles
[p5sagit/p5-mst-13.2.git] / pod / perlguts.pod
index 0fa7445..83986c9 100644 (file)
@@ -1088,10 +1088,10 @@ two, the local time zone's standard and summer time abbreviations.
 To handle this situation, the PPCODE directive is used and the stack is
 extended using the macro:
 
-    EXTEND(sp, num);
+    EXTEND(SP, num);
 
-where C<sp> is the stack pointer, and C<num> is the number of elements the
-stack should be extended by.
+where C<SP> is the macro that represents the local copy of the stack pointer,
+and C<num> is the number of elements the stack should be extended by.
 
 Now that there is room on the stack, values can be pushed on it using the
 macros to push IVs, doubles, strings, and SV pointers respectively:
@@ -1144,6 +1144,7 @@ must manipulate the Perl stack.  These include the following macros and
 functions:
 
     dSP
+    SP
     PUSHMARK()
     PUTBACK
     SPAGAIN
@@ -1575,7 +1576,8 @@ The C variable which corresponds to Perl's $^W warning variable.
 
 =item dSP
 
-Declares a stack pointer variable, C<sp>, for the XSUB.  See C<SP>.
+Declares a local copy of perl's stack pointer for the XSUB, available via
+the C<SP> macro.  See C<SP>.
 
 =item dXSARGS
 
@@ -1886,10 +1888,13 @@ Prepares a starting point to traverse a hash table.
 
        I32     hv_iterinit (HV* tb)
 
-Note that hv_iterinit I<currently> returns the number of I<buckets> in
-the hash and I<not> the number of keys (as indicated in the Advanced
-Perl Programming book). This may change in future. Use the HvKEYS(hv)
-macro to find the number of keys in a hash.
+Returns the number of keys in the hash (i.e. the same as C<HvKEYS(tb)>).
+The return value is currently only meaningful for hashes without tie
+magic.
+
+NOTE: Before version 5.004_65, C<hv_iterinit> used to return the number
+of hash buckets that happen to be in use.  If you still need that
+esoteric value, you can get it through the macro C<HvFILL(tb)>.
 
 =item hv_iterkey
 
@@ -2121,6 +2126,13 @@ The XSUB-writer's interface to the C C<malloc> function, with cast.
 
        void*   Newc( x, void *ptr, int size, type, cast )
 
+=item newCONSTSUB
+
+Creates a constant sub equivalent to Perl C<sub FOO () { 123 }>
+which is eligible for inlining at compile-time.
+
+       void    newCONSTSUB(HV* stash, char* name, SV* sv)
+
 =item newHV
 
 Creates a new HV.  The reference count is set to 1.