From e7dbddadef170fc18c33a9a97e554d03ac1f6280 Mon Sep 17 00:00:00 2001 From: Alex Shinn Date: Mon, 28 Nov 2011 20:51:34 +0900 Subject: [PATCH] non-standard extension - allowing empty expressions in case clauses --- lib/init-7.scm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/init-7.scm b/lib/init-7.scm index ea0cee9f..cdc8dda6 100644 --- a/lib/init-7.scm +++ b/lib/init-7.scm @@ -271,9 +271,13 @@ (er-macro-transformer (lambda (expr rename compare) (define (body exprs) - (if (compare (rename '=>) (car exprs)) - `(,(cadr exprs) ,(rename 'tmp)) - `(,(rename 'begin) ,@exprs))) + (cond + ((null? exprs) + (rename 'tmp)) + ((compare (rename '=>) (car exprs)) + `(,(cadr exprs) ,(rename 'tmp))) + (else + `(,(rename 'begin) ,@exprs)))) (define (clause ls) (cond ((null? ls) #f)