Minor tweaks to pod/perlsyn.pod (as suggested by Yves Orton),
Abhijit Menon-Sen [Tue, 7 Oct 2003 19:51:35 +0000 (19:51 +0000)]
sv.c (Tim Bunce), t/op/pow.t (John P. Linderman).

p4raw-id: //depot/perl@21420

pod/perlsyn.pod
sv.c
t/op/pow.t

index 80df487..8c7c9a3 100644 (file)
@@ -94,8 +94,8 @@ expression.
 The only kind of simple statement is an expression evaluated for its
 side effects.  Every simple statement must be terminated with a
 semicolon, unless it is the final statement in a block, in which case
-the semicolon is optional.  (A semicolon is still encouraged there if
-the block takes up more than one line, because you may eventually add
+the semicolon is optional.  (A semicolon is still encouraged if the
+block takes up more than one line, because you may eventually add
 another line.)  Note that there are some operators like C<eval {}> and
 C<do {}> that look like compound statements, but aren't (they're just
 TERMs in an expression), and thus need an explicit termination if used
@@ -103,12 +103,12 @@ as the last item in a statement.
 
 =head2 Truth and Falsehood
 
-A false value is C<undef>, the number 0, the string C<'0'> and the
-empty string C<''>.  Note that unlike some languages, these are three
-distinctly different values.  A true value is everything which is not
-false.
+The number 0, the strings C<'0'> and C<''>, the empty list C<()>, and an
+explicit C<undef> are all false in a boolean context. Every other value
+is true.
 
-Note that while 0, 0.0 and C<'0'> are false, C<'0.0'> is true.
+Note that while 0, 0.0 and C<'0'> are false, C<'0.0'> and C<'0e0'> are
+true, but evaluate to 0 in a numeric context.
 
 =head2 Statement Modifiers
 
diff --git a/sv.c b/sv.c
index 0274fb4..4e0f43e 100644 (file)
--- a/sv.c
+++ b/sv.c
@@ -5595,7 +5595,7 @@ Perl_sv_free(pTHX_ SV *sv)
        }
        if (ckWARN_d(WARN_INTERNAL))
            Perl_warner(aTHX_ packWARN(WARN_INTERNAL),
-                        "Attempt to free unreferenced scalar SV 0x%"UVxf,
+                        "Attempt to free unreferenced scalar: SV 0x%"UVxf,
                 PTR2UV(sv));
        return;
     }
index 4e89d22..f6d752d 100644 (file)
@@ -12,12 +12,12 @@ my $bits_in_uv = int (0.001 + log (~0+1) / log 2);
 
 # 3**30 < 2**48, don't trust things outside that range on a Cray
 # Likewise other 3 should not overflow 48 bits if I did my sums right.
-my @pow = ([3,30,1e-14],
-           [4,32,0],
-           [5,20,1e-14],
-           [2.5, 10,,1e-14],
-           [-2, 69,0],
-           [-3, 30, 1e-14],
+my @pow = ([  3, 30, 1e-14],
+           [  4, 32,     0],
+           [  5, 20, 1e-14],
+           [2.5, 10, 1e-14],
+           [ -2, 69,     0],
+           [ -3, 30, 1e-14],
 );
 my $tests;
 $tests += $_->[1] foreach @pow;