-DL and PERL_DEBUG_MSTATS unravelled
[p5sagit/p5-mst-13.2.git] / pod / perlguts.pod
index b46ccc3..fb52ecf 100644 (file)
@@ -76,8 +76,8 @@ the format.
 The C<sv_set*()> functions are not generic enough to operate on values
 that have "magic".  See L<Magic Virtual Tables> later in this document.
 
-All SVs that will contain strings should, but need not, be terminated
-with a NUL character.  If it is not NUL-terminated there is a risk of
+All SVs that contain strings should be terminated with a NUL character.
+If it is not NUL-terminated there is a risk of
 core dumps and corruptions from code which passes the string to C
 functions or system calls which expect a NUL-terminated string.
 Perl's own functions typically add a trailing NUL for this reason.
@@ -614,8 +614,7 @@ including (but not limited to) the following:
     Scalar Value
     Array Value
     Hash Value
-    File Handle
-    Directory Handle
+    I/O Handle
     Format
     Subroutine
 
@@ -1327,7 +1326,7 @@ This is converted to a tree similar to this one:
         /   \
       $b     $c
 
-(but slightly more complicated).  This tree reflect the way Perl
+(but slightly more complicated).  This tree reflects the way Perl
 parsed your code, but has nothing to do with the execution order.
 There is an additional "thread" going through the nodes of the tree
 which shows the order of execution of the nodes.  In our simplified
@@ -1400,7 +1399,7 @@ and corresponding check routines is described in F<opcode.pl> (do not
 forget to run C<make regen_headers> if you modify this file).
 
 A check routine is called when the node is fully constructed except
-for the execution-order thread.  Since at this time there is no
+for the execution-order thread.  Since at this time there are no
 back-links to the currently constructed node, one can do most any
 operation to the top-level node, including freeing it and/or creating
 new nodes above/below it.
@@ -1427,7 +1426,7 @@ created.
 =head2 Compile pass 2: context propagation
 
 When a context for a part of compile tree is known, it is propagated
-down through the tree.  Aat this time the context can have 5 values
+down through the tree.  At this time the context can have 5 values
 (instead of 2 for runtime context): void, boolean, scalar, list, and
 lvalue.  In contrast with the pass 1 this pass is processed from top
 to bottom: a node's context determines the context for its children.
@@ -1443,7 +1442,7 @@ of free()ing (i.e. their type is changed to OP_NULL).
 After the compile tree for a subroutine (or for an C<eval> or a file)
 is created, an additional pass over the code is performed. This pass
 is neither top-down or bottom-up, but in the execution order (with
-additional compilications for conditionals).  These optimizations are
+additional complications for conditionals).  These optimizations are
 done in the subroutine peep().  Optimizations performed at this stage
 are subject to the same restrictions as in the pass 2.
 
@@ -1624,6 +1623,13 @@ to indicate the number of items on the stack.
 Sets up the C<ix> variable for an XSUB which has aliases.  This is usually
 handled automatically by C<xsubpp>.
 
+=item do_binmode
+
+Switches filehandle to binmode.  C<iotype> is what C<IoTYPE(io)> would
+contain.
+
+       do_binmode(fp, iotype, TRUE);
+
 =item ENTER
 
 Opening bracket on a callback.  See C<LEAVE> and L<perlcall>.
@@ -1695,7 +1701,7 @@ Used to indicate scalar context.  See C<GIMME_V>, C<GIMME>, and L<perlcall>.
 
 Returns the glob with the given C<name> and a defined subroutine or
 C<NULL>.  The glob lives in the given C<stash>, or in the stashes
-accessable via @ISA and @<UNIVERSAL>.
+accessable via @ISA and @UNIVERSAL.
 
 The argument C<level> should be either 0 or -1.  If C<level==0>, as a
 side-effect creates a glob with the given C<name> in the given
@@ -2814,7 +2820,7 @@ will return false.
 Returns the integer which is in the SV.
 
        int SvIV (SV* sv)
-  
+
 =item SvIVX
 
 Returns the integer which is stored in the SV.