~ chicken-core (chicken-5) 47c38b44b74881ef2a8c7118568dadd611fb791e


commit 47c38b44b74881ef2a8c7118568dadd611fb791e
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Mon Mar 14 13:37:56 2011 +0100
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Mon Mar 14 13:37:56 2011 +0100

    fuck this

diff --git a/expand.scm b/expand.scm
index 943ddb31..5f9d98f2 100644
--- a/expand.scm
+++ b/expand.scm
@@ -1390,14 +1390,16 @@
                                (car tail))
                               (else
 			       `(##sys#cons (##core#quote ,%unquote)
-					    (walk tail (fx- n 1)) ) )))
+					    ,(walk tail (fx- n 1)) ) )))
 		       ((c %quasiquote head)
 			`(##sys#cons (##core#quote ,%quasiquote) 
-				     (walk tail (fx+ n 1)) ) )
+				     ,(walk tail (fx+ n 1)) ) )
 		       ((and (pair? head) (c %unquote-splicing (car head)))
                         (cond ((eq? n 0)
                                (##sys#check-syntax 'unquote-splicing head '(_ _))
-                               `(##sys#append ,(cadr head) ,(walk tail n)))
+                               (walk 
+				`(##sys#append ,(walk (cadr head) 0) ,(walk tail 0))
+				0))
                               (else
                                `(##sys#cons
                                  (##sys#cons (##core#quote ,%unquote-splicing)
@@ -1406,12 +1408,7 @@
 		       (else
 			`(##sys#cons ,(walk head n) ,(walk tail n)) ) ) ) ) ) )
       (define (simplify x)
-	(cond ((match-expression x '(##sys#cons a b) '(a b))
-	       => (lambda (env) 
-		    `(##sys#cons 
-		      ,(simplify (cdr (assq 'a env)))
-		      ,(simplify (cdr (assq 'b env))))))
-	      ((match-expression x '(##sys#append a (##core#quote ())) '(a))
+	(cond ((match-expression x '(##sys#append a (##core#quote ())) '(a))
 	       => (lambda (env) 
 		    (simplify (cdr (assq 'a env))) ))
 	      (else x) ) )
Trap