From: Guillermo J. Rozas Date: Sat, 14 Oct 1989 15:48:39 +0000 (+0000) Subject: Fix syntax/cond so that: X-Git-Tag: 20090517-FFI~11754 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=1086227419cfb0d69c32a4d43babb4f8665c5b80;p=mit-scheme.git Fix syntax/cond so that: a: (cond) is legal. b: (cond 3) gives a reasonable error message. --- diff --git a/v7/src/runtime/syntax.scm b/v7/src/runtime/syntax.scm index 7b414d4d6..463f7f186 100644 --- a/v7/src/runtime/syntax.scm +++ b/v7/src/runtime/syntax.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/Attic/syntax.scm,v 14.8 1989/04/18 16:30:11 cph Rel $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/Attic/syntax.scm,v 14.9 1989/10/14 15:48:39 jinx Exp $ Copyright (c) 1988, 1989 Massachusetts Institute of Technology @@ -319,9 +319,11 @@ MIT in each case. |# (define (syntax/or . expressions) (expand-disjunction expressions)) -(define (syntax/cond clause . rest) +(define (syntax/cond . clauses) (define (loop clause rest) - (cond ((eq? (car clause) 'ELSE) + (cond ((not (pair? clause)) + (syntax-error "Bad COND clause" clause)) + ((eq? (car clause) 'ELSE) (if (not (null? rest)) (syntax-error "ELSE not last clause" rest)) (syntax-sequence (cdr clause))) @@ -352,7 +354,8 @@ MIT in each case. |# undefined-conditional-branch (loop (car rest) (cdr rest)))) - (loop clause rest)) + (next clauses)) + ;;;; Procedures (define (syntax/lambda pattern . body)