a nested (test ...) expression is implicitly in a 'do' block for convenicnce

svn: r11749
This commit is contained in:
Eli Barzilay 2008-09-14 22:15:20 +00:00
parent afd3cd3729
commit c870eadf03

View File

@ -81,7 +81,10 @@
[(list* y '<= x r) (cons (try t2 x y) r)]
[(list* x '=error> y r) (cons (try te x y) r)]
[(list* y '<error= x r) (cons (try te x y) r)]
[(list* x r) (cons (try t1 x) r)]
[(list* x r) ; if x = (test ...), then it's implicitly in a `do'
(syntax-case x (test)
[(test x0 x1 ...) (cons (tb x) r)]
[_ (cons (try t1 x) r)])]
[(list) '()])])
(if (pair? t)
(loop (cdr t) (cons (car t) r))