~ chicken-core (chicken-5) c0d913de1a31f8aec86138927815a8bf36af598a


commit c0d913de1a31f8aec86138927815a8bf36af598a
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Sat Nov 26 22:00:48 2011 +0100
Commit:     Christian Kellermann <ckeen@pestilenz.org>
CommitDate: Wed Nov 30 11:10:27 2011 +0100

    disable warning for binding keywords - matchable uses this
    
    Signed-off-by: Christian Kellermann <ckeen@pestilenz.org>

diff --git a/compiler.scm b/compiler.scm
index 83de2d2a..b252bc12 100644
--- a/compiler.scm
+++ b/compiler.scm
@@ -487,11 +487,6 @@
 		 (for-each pretty-print imps)
 		 (print "\n;; END OF FILE"))))) ) )
 
-  (define (checkvar name form)
-    (when (keyword? name)
-      (warning "variable is keyword in binding form" `(,form (... (,name ...) ...) ...)))
-    name)
-
   (define (walk x e se dest ldest h)
     (cond ((symbol? x)
 	   (cond ((keyword? x) `(quote ,x))
@@ -609,7 +604,7 @@
 			((##core#let)
 			 (let* ((bindings (cadr x))
 				(vars (unzip1 bindings))
-				(aliases (map (o gensym (cut checkvar <> 'let)) vars))
+				(aliases (map gensym vars))
 				(se2 (##sys#extend-se se vars aliases)))
 			   (set-real-names! aliases vars)
 			   `(let
@@ -627,7 +622,7 @@
 			   (walk
 			    `(##core#let
 			      ,(map (lambda (b)
-				      (list (checkvar (car b) 'letrec) '(##core#undefined))) 
+				      (list (car b) '(##core#undefined))) 
 				    bindings)
 			      ,@(map (lambda (b)
 				       `(##core#set! ,(car b) ,(cadr b))) 
@@ -677,7 +672,7 @@
 			 (let ((se2 (append
 				     (map (lambda (b)
 					    (list
-					     (checkvar (car b) 'let-syntax)
+					     (car b)
 					     se
 					     (##sys#ensure-transformer
 					      (##sys#eval/meta (cadr b))
@@ -692,7 +687,7 @@
 		       ((##core#letrec-syntax)
 			(let* ((ms (map (lambda (b)
 					  (list
-					   (checkvar (car b) 'letrec-syntax)
+					   (car b)
 					   #f
 					   (##sys#ensure-transformer
 					    (##sys#eval/meta (cadr b))
@@ -769,9 +764,7 @@
 				   (lambda (b)
 				     (##sys#check-syntax
 				      'let-compiler-syntax b '(symbol . #(_ 0 1)))
-				     (let ((name (lookup
-						  (checkvar (car b) 'let-compiler-syntax) 
-						  se)))
+				     (let ((name (lookup (car b) se)))
 				       (list 
 					name 
 					(and (pair? (cdr b))
diff --git a/eval.scm b/eval.scm
index 4f65c8d0..0be9cb7f 100644
--- a/eval.scm
+++ b/eval.scm
@@ -231,11 +231,6 @@
       (define (decorate p ll h cntr)
 	(##sys#eval-decorator p ll h cntr) )
 
-      (define (checkvar name form)
-	(when (keyword? name)
-	  (warning "variable is keyword in binding form" `(,form (... (,name ...) ...) ...)))
-	name)
-
       (define (compile x e h tf cntr se)
 	(cond ((keyword? x) (lambda v x))
 	      ((symbol? x)
@@ -377,7 +372,7 @@
 			 [(##core#let)
 			  (let* ([bindings (cadr x)]
 				 [n (length bindings)] 
-				 [vars (map (lambda (x) (checkvar (car x) 'let)) bindings)] 
+				 [vars (map car bindings)]
 				 (aliases (map gensym vars))
 				 [e2 (cons aliases e)]
 				 (se2 (##sys#extend-se se vars aliases))
@@ -429,8 +424,7 @@
 			    (compile
 			     `(##core#let
 			       ,(##sys#map (lambda (b)
-					     (list (checkvar (car b) 'letrec)
-						   '(##core#undefined))) 
+					     (list (car b) '(##core#undefined))) 
 					   bindings)
 			       ,@(##sys#map (lambda (b)
 					      `(##core#set! ,(car b) ,(cadr b))) 
@@ -535,7 +529,7 @@
 			  (let ((se2 (append
 				      (map (lambda (b)
 					     (list
-					      (checkvar (car b) 'let-syntax)
+					      (car b)
 					      se
 					      (##sys#ensure-transformer
 					       (##sys#eval/meta (cadr b))
@@ -549,7 +543,7 @@
 			 ((##core#letrec-syntax)
 			  (let* ((ms (map (lambda (b)
 					    (list
-					     (checkvar (car b) 'letrec-syntax)
+					     (car b)
 					     #f
 					     (##sys#ensure-transformer
 					      (##sys#eval/meta (cadr b))
Trap