summaryrefslogtreecommitdiff
path: root/modules/language/python/module.scm
diff options
context:
space:
mode:
Diffstat (limited to 'modules/language/python/module.scm')
-rw-r--r--modules/language/python/module.scm15
1 files changed, 9 insertions, 6 deletions
diff --git a/modules/language/python/module.scm b/modules/language/python/module.scm
index 680cf15..51270c2 100644
--- a/modules/language/python/module.scm
+++ b/modules/language/python/module.scm
@@ -143,12 +143,14 @@
(lambda (self k)
(define (fail)
(raise (AttributeError "getattr in Module")))
- (let ((k (_k k))
- (m (_m self)))
- (let ((x (module-ref m k e)))
- (if (eq? e x)
- (fail)
- x)))))
+ (let ((k (_k k)))
+ (let ((x (module-ref (rawref self '_export) k e)))
+ (if (eq? e x)
+ (let ((x (module-ref (_m self) k e)))
+ (if (eq? e x)
+ (fail)
+ x))
+ x)))))
(define __setattr__
(lambda (self k v)
@@ -185,6 +187,7 @@
(set! l (cons (symbol->string k) l))))))
(hash-for-each add h)
(module-for-each add m)
+ (module-for-each add (rawref self '_export))
(py-list l))))