Audrey, I know the feeling of processing a "large" patch. :=)

As Larry said, there're always nits. :(

Here're even more fixes for S04:


Index: D:/projects/Perl6-Syn/S04.pod

===================================================================

--- D:/projects/Perl6-Syn/S04.pod       (revision 10488)

+++ D:/projects/Perl6-Syn/S04.pod       (working copy)

@@ -23,7 +23,7 @@


Every block is a closure.  (That is, in the abstract, they're all
anonymous subroutines that take a snapshot of their lexical scope.)
-How a block is invoked and how its results are used is a matter of
+How a block is invoked and how its results are used are matters of
context, but closures all work the same on the inside.

Blocks are delimited by curlies, or by the beginning and end of the
@@ -225,7 +225,7 @@


However, that's likely to be visually confused with a following
C<while> loop at the best of times, so it's also allowed to put the
-loop conditional at the front, with the same meaning (the C<repeat>
+loop conditional at the front, with the same meaning. (The C<repeat>
keyword forces the conditional to be evaluated at the end of the loop,
so it's still C's do-while semantics.)  Therefore, even under GNU style
rules, the previous example may be rewritten into a very clear:
@@ -394,7 +394,7 @@

it's not required that all the statements in a switch block be C<when>
statements (though it helps the optimizer to have a sequence of
contiguous C<when> statements, because then it can arrange to jump
-directly to the first appropriate test that might possibly match.)
+directly to the first appropriate test that might possibly match).

The default case:

@@ -470,7 +470,7 @@


All abnormal control flow is, in the general case, handled by the
exception mechanism (which is likely to be optimized away in specific
-cases.)  Here "abnormal" means any transfer of control outward that
+cases).  Here "abnormal" means any transfer of control outward that
is not just falling off the end of a block.  A C<return>,
for example, is considered a form of abnormal control flow, since it
can jump out of multiple levels of closures to the end of the scope
@@ -521,8 +521,8 @@

scope of that loop, and if that call mentions the outer loop's label,
then that outer loop is the one that must be controlled. (This search
of lexical scopes is limited to the current "official" subroutine.)
-If there is no such lexically scoped outer loop in the current subroutine.
-Then a fallback search is made outward through the dynamic scopes in
+If there is no such lexically scoped outer loop in the current subroutine,
+then a fallback search is made outward through the dynamic scopes in
the same way Perl 5 does.  (The difference between Perl 5 and Perl 6
in this respect arises only because Perl 5 didn't have user-defined
control structures, hence the sub's lexical scope was I<always>
@@ -673,7 +673,7 @@

All of these trait blocks can see any previously declared lexical
variables, even if those variables have not been elaborated yet when
the closure is invoked (in which case the variables evaluate to an
-undefined value.)
+undefined value).

Note: Apocalypse 4 confused the notions of C<PRE>/C<POST> with
C<ENTER>/C<LEAVE>.
These are now separate notions.  C<ENTER> and C<LEAVE> are used only for
@@ -793,7 +793,7 @@

statement continuators such as C<else> that cannot be confused with
the beginning of a new statement.  Anything else, such as a statement
modifier (on, say, a C<loop> statement) must continue on the same line,
-unless the newline be escaped using the "unspace" construct--see S02.)
+unless the newline be escaped using the "unspace" construct--see S02).

Final blocks on statement-level constructs always imply semicolon
precedence afterwards regardless of the position of the closing curly.

Reply via email to