From 8223db0b1a660ad10830e9a5a2fe71858cf52481 Mon Sep 17 00:00:00 2001 From: Stefan Israelsson Tampe Date: Mon, 3 Sep 2018 23:53:19 +0200 Subject: bytes64 copmiles and testprogram works --- modules/language/python/compile.scm | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'modules/language/python/compile.scm') diff --git a/modules/language/python/compile.scm b/modules/language/python/compile.scm index d715c8d..3f02f38 100644 --- a/modules/language/python/compile.scm +++ b/modules/language/python/compile.scm @@ -1116,8 +1116,8 @@ ,@(if else `((else ,(exp vs else))) '())))) (#:suite - ((_ #:stmt . l) (cons* (G 'begin) `(,(G 'values)) (map (g vs exp) l))) - ((_ . l) (list (G 'begin) `(,(G 'values)) (map (g vs exp) l)))) + ((_ #:stmt . l) (cons (G 'begin) (map (g vs exp) l))) + ((_ . l) (cons (G 'begin) (map (g vs exp) l)))) (#:classdef ((_ class parents code) @@ -2583,8 +2583,14 @@ (syntax-case x (quote __dict__) ((_ v) #'v) - ((_ v (#:fastfkn-ref f _) . l) - #'(ref-x (lambda x (if (pyclass? v) (apply f x) (apply f v x))) . l)) + ((_ v (#:fastfkn-ref f tag) . l) + #'(let ((vv v)) + (if (is-a? vv

) + (ref-x v (#:identifier tag) . l) + (ref-x (lambda x + (if (pyclass? v) + (apply f x) + (apply f v x))) . l)))) ((_ v (#:fast-id f _) . l) #'(ref-x (f v) . l)) ((_ v (#:identifier '__dict__) . l) @@ -2728,7 +2734,11 @@ (cons x l) l)) #:final l))))) - + +(define (pkkk x) + (pk (syntax->datum x)) + x) + (define-syntax qset! (lambda (x) (syntax-case x () @@ -2740,7 +2750,8 @@ ((_ '() v) #'(if (not (null? v)) - (raise (ValueError "too many values to unpack")))) + (raise (ValueError "too many values to unpack")) + (values))) ((_ x v) #'(set! x v))))) -- cgit v1.2.3