summaryrefslogtreecommitdiff
path: root/modules/language
diff options
context:
space:
mode:
authorStefan Israelsson Tampe <stefan.itampe@gmail.com>2018-04-17 20:48:45 +0200
committerStefan Israelsson Tampe <stefan.itampe@gmail.com>2018-04-17 20:48:45 +0200
commit21a4cc959f1cdec256a7e0231b98a41c9a8450e0 (patch)
tree7e7e3b60ed45b9582c362e92854d19381d8bc12d /modules/language
parent16d619f3fea2309d07d858165f272ed1b847298e (diff)
further improvements following python3 spec
Diffstat (limited to 'modules/language')
-rw-r--r--modules/language/python/module.scm21
1 files changed, 11 insertions, 10 deletions
diff --git a/modules/language/python/module.scm b/modules/language/python/module.scm
index 53aa1c2..ab963d1 100644
--- a/modules/language/python/module.scm
+++ b/modules/language/python/module.scm
@@ -138,16 +138,17 @@
(define __getattribute__
(lambda (self k)
(define (fail)
- (raise KeyError "getattr in Module"))
-
- (if (rawref self '_module)
- (let ((k (_k k))
- (m (_m self)))
- (let ((x (module-ref m k e)))
- (if (eq? e x)
- (fail)
- x)))
- (fail))))
+ (raise (KeyError "getattr in Module")))
+ (aif it (rawref self k)
+ it
+ (if (rawref self '_module)
+ (let ((k (_k k))
+ (m (_m self)))
+ (let ((x (module-ref m k e)))
+ (if (eq? e x)
+ (fail)
+ x)))
+ (fail)))))
(define __setattr__
(lambda (self k v)