macro documentation fixup
authorNoah Lavine <nlavine@haverford.edu>
Wed, 2 Feb 2011 14:52:10 +0000 (09:52 -0500)
committerAndy Wingo <wingo@pobox.com>
Wed, 2 Feb 2011 19:55:14 +0000 (20:55 +0100)
* doc/ref/api-macros.texi: make the difference between pattern variables
  and lexical variables a bit clearer.

doc/ref/api-macros.texi

index 1fbfa24..5f15fb7 100644 (file)
@@ -574,11 +574,14 @@ Here's another solution that doesn't work:
              (if it then else)))))))
 @end example
 
-The reason that this one doesn't work is that there are really two environments
-at work here -- the environment of pattern variables, as bound by
-@code{syntax-case}, and the environment of lexical variables, as bound by normal
-Scheme. Here we need to introduce a piece of Scheme's environment into that of
-the syntax expander, and we can do so using @code{syntax-case} itself:
+The reason that this one doesn't work is that there are really two
+environments at work here -- the environment of pattern variables, as
+bound by @code{syntax-case}, and the environment of lexical variables,
+as bound by normal Scheme. The outer let form establishes a binding in
+the environment of lexical variables, but the inner let form is inside a
+syntax form, where only pattern variables will be substituted. Here we
+need to introduce a piece of the lexical environment into the pattern
+variable environment, and we can do so using @code{syntax-case} itself:
 
 @example
 ;; works, but is obtuse