Hi Ludovic, Naive question (and I realize I'm a bit late here): What if there are bindings in the current module that need to be present for expansion and compilation to succeed? I ask because I'm working on a macro that transforms R6RS library expressions, which contain nested `define' calls, into Guile modules. My code rewrites these defines as location declarations that get exported as part of a module interface (at least, in theory -- right now it just erases them).
When I bind my `library' macro in the REPL after building from the current HEAD of master and then load and compile a source file containing an R6RS library form, I get a syncase error during compilation about defines in expression context; when I revert the effects of this patch, the error goes away. Regards, Julian 2009/9/20 Ludovic Courtès <l...@gnu.org>: > Hello! > > l...@gnu.org (Ludovic Courtès) writes: > >> The attached patch makes `compile' and friends use fresh module rather >> than the current module as the default compile-time environment. > > I committed a slightly modified version in > 87c595c757b7db84ffdcfda96f736ab235e674a8.