diff options
Diffstat (limited to 'modules/language/python/module.scm')
-rw-r--r-- | modules/language/python/module.scm | 15 |
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)))) |