diff options
Diffstat (limited to 'module/language/tree-il/compile-glil.scm')
-rw-r--r-- | module/language/tree-il/compile-glil.scm | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/module/language/tree-il/compile-glil.scm b/module/language/tree-il/compile-glil.scm index 48db6f6c4..503e0a44f 100644 --- a/module/language/tree-il/compile-glil.scm +++ b/module/language/tree-il/compile-glil.scm @@ -492,11 +492,16 @@ ((tail push vals) (emit-code src (make-glil-toplevel 'ref name)))) (maybe-emit-return)) - (else - (pk 'ew-the-badness x (current-module) (fluid-ref *comp-module*)) + ((module-variable the-root-module name) (case context ((tail push vals) (emit-code src (make-glil-module 'ref '(guile) name #f)))) + (maybe-emit-return)) + (else + (case context + ((tail push vals) + (emit-code src (make-glil-module + 'ref (module-name (fluid-ref *comp-module*)) name #f)))) (maybe-emit-return)))) ((<lexical-ref> src name gensym) |