~ chicken-core (chicken-5) de033aef6860a4b76d388810e73d3927fd553e95


commit de033aef6860a4b76d388810e73d3927fd553e95
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Fri Jan 21 09:39:13 2011 +0100
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Fri Jan 21 09:39:13 2011 +0100

    fix in scrutinizer after bug-report by alan

diff --git a/runtime.c b/runtime.c
index fa4c10a5..d6bf249e 100644
--- a/runtime.c
+++ b/runtime.c
@@ -3781,7 +3781,6 @@ C_regparm C_word C_fcall C_hash_string(C_word str)
   unsigned C_word key = 0;
   int len = C_header_size(str);
   C_byte *ptr = C_data_pointer(str);
-// *(ptr++) means you run off the edge.  
   while(len--) key = (key << 4) + (*ptr++);
 
   return C_fix(key & C_MOST_POSITIVE_FIXNUM);
diff --git a/scrutinizer.scm b/scrutinizer.scm
index 0c2d77ba..5763099b 100755
--- a/scrutinizer.scm
+++ b/scrutinizer.scm
@@ -346,10 +346,10 @@
 		(case (car t1)
 		  ((or) (every (cut type<=? <> t2) (cdr t1)))
 		  ((procedure)
-		   (let ((args1 (if (pair? (cadr t1)) (cadr t1) (caddr t1)))
-			 (args2 (if (pair? (cadr t2)) (cadr t2) (caddr t2)))
-			 (res1 (if (pair? (cadr t1)) (cddr t1) (cdddr t1)))
-			 (res2 (if (pair? (cadr t2)) (cddr t2) (cdddr t2))) )
+		   (let ((args1 (if (named? t1) (caddr t1) (cadr t1)))
+			 (args2 (if (named? t2) (caddr t2) (cadr t2)))
+			 (res1 (if (named? t1) (cdddr t1) (cddr t1)))
+			 (res2 (if (named? t2) (cdddr t2) (cddr t2))) )
 		     (let loop1 ((args1 args1)
 				 (args2 args2)
 				 (m1 0) 
diff --git a/types.db b/types.db
index 6608d580..f2e9bceb 100644
--- a/types.db
+++ b/types.db
@@ -685,7 +685,7 @@
 (call-with-input-string (procedure call-with-input-string (string (procedure (port) . *)) . *))
 (call-with-output-string (procedure call-with-output-string ((procedure (port) . *)) string))
 (copy-port (procedure copy-port (* * #!optional (procedure (*) *) (procedure (* *) *)) undefined)) 
-(make-input-port (procedure make-input-port ((procedure () char) (procedure () *) (procedure () . *) #!optional * * *) port))
+(make-input-port (procedure make-input-port ((procedure () char) (procedure () *) (procedure () . *) #!optional * * * *) port))
 (make-output-port (procedure make-output-port ((procedure (string) . *) (procedure () . *) #!optional (procedure () . *)) port))
 (port-for-each (procedure port-for-each ((procedure (*) *) (procedure () . *)) undefined))
 (port-map (procedure port-map ((procedure (*) *) (procedure () . *)) list))
Trap