From c8b9a610f3532f466c5ac4454d50151461d064ef Mon Sep 17 00:00:00 2001
From: zbigniew <zbigniewsz@gmail.com>
Date: Thu, 25 Mar 2010 22:37:17 -0500
Subject: [PATCH 1/2] Only the last clause in COND may be an ELSE clause

---
 expand.scm |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/expand.scm b/expand.scm
index 207cd25..0641f51 100644
--- a/expand.scm
+++ b/expand.scm
@@ -1073,7 +1073,10 @@
 	    (let ((clause (car clauses))
 		  (rclauses (cdr clauses)) )
 	      (##sys#check-syntax 'cond clause '#(_ 1))
-	      (cond ((c %else (car clause)) `(##core#begin ,@(cdr clause)))
+	      (cond ((c %else (car clause))
+		     (if (pair? rclauses)
+			 (syntax-error "(else ...) must be the last clause")
+			 `(##core#begin ,@(cdr clause))))
 		    ((null? (cdr clause)) `(,%or ,(car clause) ,(expand rclauses)))
 		    ((c %=> (cadr clause))
 		     (let ((tmp (r 'tmp)))
-- 
1.7.0

