summaryrefslogtreecommitdiff
path: root/modules/language/python/compile.scm
diff options
context:
space:
mode:
Diffstat (limited to 'modules/language/python/compile.scm')
-rw-r--r--modules/language/python/compile.scm10
1 files changed, 9 insertions, 1 deletions
diff --git a/modules/language/python/compile.scm b/modules/language/python/compile.scm
index e5bc219..fe3533b 100644
--- a/modules/language/python/compile.scm
+++ b/modules/language/python/compile.scm
@@ -1407,7 +1407,8 @@
,(C 'clear-warning-data)
(fluid-set! (@@ (system base message) %dont-warn-list) '())
,@(map (lambda (s) `(,(C 'var) ,s)) globs)
- ,@(map (g globs exp) x))))))
+ ,@(map (g globs exp) x)
+ (,(C 'export-all)))))))
(define-syntax-parameter break
(lambda (x) #'(values)))
@@ -1932,3 +1933,10 @@
((_ #t) #t)
((_ #f) #f)
((_ x ) (bool x))))
+
+(define (export-all)
+ (define mod (current-module))
+ (if (module-defined? mod '__all__)
+ (for ((x : (module-ref mod '__all__))) ()
+ (module-export! mod (string->symbol (scm-str x))))))
+