diff options
Diffstat (limited to 'modules/language/python')
-rw-r--r-- | modules/language/python/compile.scm | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/modules/language/python/compile.scm b/modules/language/python/compile.scm index a45cc48..394e8d9 100644 --- a/modules/language/python/compile.scm +++ b/modules/language/python/compile.scm @@ -1384,13 +1384,18 @@ l))))) - ((_ (#:name ((ids ...) . as) ...) ...) + ((_ (#:name ((dots ids ...) . as) ...) ...) `(,(G 'begin) ,@(map - (lambda (ids as) + (lambda (dots ids as) `(,(G 'begin) - ,@(map (lambda (ids as) - (let ((path (map (g vs exp) ids))) + ,@(map (lambda (dots ids as) + (let* ((u (module-name (current-module))) + (u (reverse (list-cdr-ref (reverse (u-it u)) + (length dots)))) + + (path (append (if (null? dots) '() u) + (map (g vs exp) ids)))) (if as (exp vs @@ -1418,8 +1423,8 @@ ,(append '(language python module) path))) ,(exp vs (car ids))))))))))) - ids as))) - ids as)))) + dots ids as))) + dots ids as)))) (#:for ((_ e in code . #f) |