~ chicken-core (chicken-5) d736b66cd005d1de97e016b84c4bde5251474b1d


commit d736b66cd005d1de97e016b84c4bde5251474b1d
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Tue Jun 14 13:20:20 2011 +0200
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Tue Jun 14 13:20:20 2011 +0200

    argument to ##core#the needn't be quoted

diff --git a/chicken-ffi-syntax.scm b/chicken-ffi-syntax.scm
index dddfa762..6dd98e67 100644
--- a/chicken-ffi-syntax.scm
+++ b/chicken-ffi-syntax.scm
@@ -171,9 +171,9 @@
 		  'foreign-value
 		  "bad argument type - not a string or symbol" 
 		  code))))
-	(##core#the ',(##compiler#foreign-type->scrutiny-type
-		       (##sys#strip-syntax (caddr form))
-		       'result) 
+	(##core#the ,(##compiler#foreign-type->scrutiny-type
+		      (##sys#strip-syntax (caddr form))
+		      'result) 
 		    ,tmp) ) ) ) ) )
 
 
@@ -214,9 +214,9 @@
 	   (rtype (or (and hasrtype (##sys#strip-syntax (cadr form))) 'void))
 	   (args (##sys#strip-syntax (if hasrtype (caddr form) (cadr form))))
 	   (argtypes (map car args)))
-      `(##core#the '(procedure
-		     ,(map (cut ##compiler#foreign-type->scrutiny-type <> 'arg) argtypes)
-		     ,(##compiler#foreign-type->scrutiny-type rtype 'result))
+      `(##core#the (procedure
+		    ,(map (cut ##compiler#foreign-type->scrutiny-type <> 'arg) argtypes)
+		    ,(##compiler#foreign-type->scrutiny-type rtype 'result))
 		   (##core#foreign-primitive ,@(cdr form)))))))
 
 (##sys#extend-macro-environment
@@ -226,10 +226,10 @@
   (lambda (form r c)
     (##sys#check-syntax 'foreign-lambda form '(_ _ _ . _))
     `(##core#the
-      '(procedure ,(map (cut ##compiler#foreign-type->scrutiny-type <> 'arg)
-			(##sys#strip-syntax (cdddr form)))
-		  ,(##compiler#foreign-type->scrutiny-type
-		    (##sys#strip-syntax (cadr form)) 'result))
+      (procedure ,(map (cut ##compiler#foreign-type->scrutiny-type <> 'arg)
+		       (##sys#strip-syntax (cdddr form)))
+		 ,(##compiler#foreign-type->scrutiny-type
+		   (##sys#strip-syntax (cadr form)) 'result))
       (##core#foreign-lambda ,@(cdr form))))))
 
 (##sys#extend-macro-environment
@@ -239,7 +239,7 @@
   (lambda (form r c)
     (##sys#check-syntax 'foreign-lambda* form '(_ _ _ _ . _))
     `(##core#the
-      '(procedure ,(map (lambda (a) (##compiler#foreign-type->scrutiny-type (car a) 'arg))
+      (procedure ,(map (lambda (a) (##compiler#foreign-type->scrutiny-type (car a) 'arg))
 			(##sys#strip-syntax (caddr form)))
 		  ,(##compiler#foreign-type->scrutiny-type
 		    (##sys#strip-syntax (cadr form)) 'result))
@@ -252,7 +252,7 @@
   (lambda (form r c)
     (##sys#check-syntax 'foreign-safe-lambda form '(_ _ _ . _))
     `(##core#the
-      '(procedure ,(map (cut ##compiler#foreign-type->scrutiny-type <> 'arg)
+      (procedure ,(map (cut ##compiler#foreign-type->scrutiny-type <> 'arg)
 			(##sys#strip-syntax (cdddr form)))
 		  ,(##compiler#foreign-type->scrutiny-type
 		    (##sys#strip-syntax (cadr form)) 'result))
@@ -265,7 +265,7 @@
   (lambda (form r c)
     (##sys#check-syntax 'foreign-safe-lambda* form '(_ _ _ _ . _))
     `(##core#the
-      '(procedure ,(map (lambda (a) (##compiler#foreign-type->scrutiny-type (car a) 'arg))
+      (procedure ,(map (lambda (a) (##compiler#foreign-type->scrutiny-type (car a) 'arg))
 			(##sys#strip-syntax (caddr form)))
 		  ,(##compiler#foreign-type->scrutiny-type
 		    (##sys#strip-syntax (cadr form)) 'result))
@@ -285,7 +285,7 @@
 		(##compiler#foreign-type-declaration t ""))))
       `(##core#begin
 	(##core#define-foreign-variable ,tmp size_t ,(string-append "sizeof(" decl ")"))
-	(##core#the 'fixnum ,tmp))))))
+	(##core#the fixnum ,tmp))))))
 
 
 (##sys#macro-subset me0)))
diff --git a/chicken-syntax.scm b/chicken-syntax.scm
index c5604db6..e794f4a5 100644
--- a/chicken-syntax.scm
+++ b/chicken-syntax.scm
@@ -1193,14 +1193,14 @@
  (##sys#er-transformer
   (lambda (x r c)
     (##sys#check-syntax 'the x '(_ _ _))
-    `(##core#the ',(##sys#strip-syntax (cadr x)) ,(caddr x)))))
+    `(##core#the ,(##sys#strip-syntax (cadr x)) ,(caddr x)))))
 
 (##sys#extend-macro-environment
  'assume '()
  (##sys#er-transformer
   (syntax-rules ()
     ((_ ((var type) ...) body ...)
-     (let ((var (##core#the 'type var)) ...) body ...)))))
+     (let ((var (##core#the type var)) ...) body ...)))))
 
 
 ;; capture current macro env
diff --git a/eval.scm b/eval.scm
index 239ff50c..7b30466f 100644
--- a/eval.scm
+++ b/eval.scm
@@ -749,7 +749,7 @@
 			  (compile-call (cdr x) e tf cntr se) ]
 
 			 ((##core#the)
-			  (compile (caddr x) e tf cntr se))
+			  (compile (caddr x) e h tf cntr se))
 
 			 (else
 			  (fluid-let ((##sys#syntax-context (cons head ##sys#syntax-context)))
diff --git a/support.scm b/support.scm
index 3488169f..c522cad6 100644
--- a/support.scm
+++ b/support.scm
@@ -505,8 +505,7 @@
 	       ((lambda ##core#lambda) 
 		(make-node 'lambda (list (cadr x)) (list (walk (caddr x)))))
 	       ((##core#the)
-		;; first arg will be quoted
-		(make-node '##core#the (list (cadadr x)) (list (walk (caddr x)))))
+		(make-node '##core#the (list (cadr x)) (list (walk (caddr x)))))
 	       ((##core#primitive)
 		(let ([arg (cadr x)])
 		  (make-node
Trap