~ chicken-core (chicken-5) dc18241562fbef3d29f900ebd497e30e7cebf0f3


commit dc18241562fbef3d29f900ebd497e30e7cebf0f3
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Sat Apr 9 14:38:56 2011 +0200
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Sat Apr 9 14:38:56 2011 +0200

    match-spec.: the endless fiddling

diff --git a/scrutinizer.scm b/scrutinizer.scm
index 121cb334..39c42db6 100755
--- a/scrutinizer.scm
+++ b/scrutinizer.scm
@@ -656,9 +656,8 @@
 					(cons
 					 (cond ((eq? (cdr a) '*) '*)
 					       (else
-						(debugging 
-						 'x "adjusting procedure argument type"
-						 (car vars) (cdr a))
+						(d "adjusting procedure argument type for `~a' to: ~a"
+						   (car vars) (cdr a))
 						(cdr a) ))
 					 (loop (sub1 argc) (cdr vars) (cdr args)))))
 				     (else 
@@ -897,7 +896,8 @@
 	     ((procedure) (bomb "match-specialization: invalid complex procedure type" st))
 	     (else (equal? st t))))
 	  ((eq? st '*))
-	  ((eq? st 'list) (match '(or pair null) t))
+	  ;; "list" different from "number": a pair is not necessarily a list:
+	  ((eq? st 'list) (eq? t 'list))
 	  ((eq? st 'number) (match '(or fixnum float) t))
 	  ((pair? t)
 	   (case (car t)
Trap