diff options
-rw-r--r-- | txr.1 | 28 |
1 files changed, 28 insertions, 0 deletions
@@ -17869,6 +17869,25 @@ forms the reference model for how the .code load function processes top-level forms. +Note that, according to these rules, the constituent body forms of a +.code macrolet +or +.code symacrolet +top-level form are not individual top-level forms, even if the +expansion of the construct combines the expanded versions of those +forms with +.codn progn . + +The form +.code "(macrolet () (defmacro foo ()) (foo))" +will therefore not work correctly. However, the specific problem in +this situation can be be resolved by rewriting +.code foo +as a +.code macrolet +macro: +.codn "(macrolet ((foo ())) (foo))" . + See also: the .code make-env function. @@ -76778,6 +76797,15 @@ This means that it is not a form based on any of the operators or .codn eval-only . +Note that the constituent body forms of a +.code macrolet +or +.code symacrolet +top-level form are not individual top-level forms, even if the +expansion of the construct combines the expanded versions of those +forms with +.codn progn . + .SS* File Compilation Model The file compiler reads each successive forms from a file, performs a partial |