Compile in a fresh module by default.
authorLudovic Courtès <ludo@gnu.org>
Fri, 14 Aug 2009 17:30:14 +0000 (19:30 +0200)
committerLudovic Courtès <ludo@gnu.org>
Sun, 20 Sep 2009 19:54:41 +0000 (21:54 +0200)
commit87c595c757b7db84ffdcfda96f736ab235e674a8
treea056f78b6684c3e5b3829ade38972f8ea9cf6f3f
parentf5a51caec1bf1900b269da6e07fe466199372970
Compile in a fresh module by default.

* module/system/base/compile.scm (make-compilation-module,
  language-default-environment): New procedures.
  (read-and-compile, compile): Have ENV default to
  `(language-default-environment from)'.
  (compile-and-load): Compile in `(current-module)'.

* module/system/repl/common.scm (repl-compile): Explicitly compile in
  the current module so that macro definitions are visible.

* libguile/load.c (kw_env): New variable.
  (do_try_autocompile): Call `compile-file' with `#:env (current-module)'.

* test-suite/tests/compiler.test ("psyntax")["compile uses a fresh module by
  default", "compile-time definitions are isolated"]: New tests.
  ["compile in current module"]: Specify `#:env (current-module)'.
  ["redefinition"]: Adjust.

* test-suite/tests/bytevectors.test (c&e): Explicitly compile in the
  current module so that its imports are visible.
libguile/load.c
module/system/base/compile.scm
module/system/repl/common.scm
test-suite/tests/bytevectors.test
test-suite/tests/compiler.test