From 1ad4c309f49731b087ffab00632fb21f95fdf356 Mon Sep 17 00:00:00 2001 From: Yuichi Nishiwaki Date: Mon, 9 Dec 2013 15:41:57 +0900 Subject: [PATCH] [bugfix] case and or should be declared by ir-macro-transformer --- piclib/built-in.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/piclib/built-in.scm b/piclib/built-in.scm index d026d5c2..a7fcd64d 100644 --- a/piclib/built-in.scm +++ b/piclib/built-in.scm @@ -612,7 +612,7 @@ (make-syntactic-closure mac-env '() (unwrap (f (wrap expr) inject compare)))))) (define-syntax or - (er-macro-transformer + (ir-macro-transformer (lambda (expr inject compare) (let ((exprs (cdr expr))) (if (null? exprs) @@ -623,14 +623,14 @@ (or ,@(cdr exprs))))))))) (define-syntax case - (er-macro-transformer + (ir-macro-transformer (lambda (expr inject compare) (let ((key (cadr expr)) (clauses (cddr expr))) `(let ((key ,key)) ,(let loop ((clauses clauses)) (if (null? clauses) - '#f + #f `(if (or ,@(map (lambda (x) `(eqv? key ,x)) (caar clauses))) ,@(cdar clauses) ,(loop (cdr clauses))))))))))