aboutsummaryrefslogtreecommitdiff
path: root/src/boot/translator.boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/boot/translator.boot')
-rw-r--r--src/boot/translator.boot9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/boot/translator.boot b/src/boot/translator.boot
index af1c967b..08b0bfde 100644
--- a/src/boot/translator.boot
+++ b/src/boot/translator.boot
@@ -407,6 +407,11 @@ exportNames ns ==
ns = nil => nil
[["EXPORT",["QUOTE",ns]]]
+inAllContexts x ==
+ ["EVAL-WHEN",[KEYWORD::COMPILE_-TOPLEVEL,
+ KEYWORD::LOAD_-TOPLEVEL,
+ KEYWORD::EXECUTE], x]
+
translateToplevel(b,export?) ==
atom b => [b] -- generally happens in interactive mode.
b is ["TUPLE",:xs] => coreError '"invalid AST"
@@ -420,7 +425,9 @@ translateToplevel(b,export?) ==
[["PROVIDE", symbolName m], :exportNames ns,
:[first translateToplevel(d,true) for d in ds]]
- %Import(m) =>
+ %Import(m) =>
+ m is ['%Namespace,n] =>
+ [inAllContexts ["USE-PACKAGE",symbolName n]]
if getOptionValue "import" ~= '"skip" then
bootImport symbolName m
[["IMPORT-MODULE", symbolName m]]