diff options
author | Ludovic Courtès <ludo@gnu.org> | 2009-10-15 20:51:16 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2009-10-15 20:51:32 +0200 |
commit | 30e73c7698daa038a3fce2135781166d1edfa4e0 (patch) | |
tree | cd6c9e9d8d2410a272cccc12a9ebd3295f90390c | |
parent | 3245c0fbefa2f119918e42cc1691fb9a41feb792 (diff) | |
download | guile-30e73c7698daa038a3fce2135781166d1edfa4e0.tar.gz |
Fix REPL environment for languages other than scheme.
* module/system/repl/common.scm (repl-compile): Use `#:env #f' for
languages other than scheme.
-rw-r--r-- | module/system/repl/common.scm | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/module/system/repl/common.scm b/module/system/repl/common.scm index c9106e1ac..eac9610e7 100644 --- a/module/system/repl/common.scm +++ b/module/system/repl/common.scm @@ -67,9 +67,15 @@ (let ((to (lookup-language (cond ((memq #:e opts) 'scheme) ((memq #:t opts) 'ghil) ((memq #:c opts) 'glil) - (else 'objcode))))) - (compile form #:from (repl-language repl) #:to to #:opts opts - #:env (current-module)))) + (else 'objcode)))) + (from (repl-language repl))) + (compile form #:from from #:to to #:opts opts + ;; XXX: Languages other than Scheme may not support having + ;; a module as the environment, so work around that. See + ;; also `language-default-environment'. + #:env (if (eq? from (lookup-language 'scheme)) + (current-module) + #f)))) (define (repl-parse repl form) (let ((parser (language-parser (repl-language repl)))) |