~ chicken-core (chicken-5) d2a3610761963d7864eb27a72bfeebaeced15c49


commit d2a3610761963d7864eb27a72bfeebaeced15c49
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Tue Aug 23 11:09:12 2011 +0200
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Tue Aug 23 11:09:12 2011 +0200

    bugfix for FA of assignment (thanks to Sven Hartrumpf); validate deprecated type correctly

diff --git a/scrutinizer.scm b/scrutinizer.scm
index 10797db0..be82fee7 100755
--- a/scrutinizer.scm
+++ b/scrutinizer.scm
@@ -694,9 +694,11 @@
 				      "variable `~a' of type `~a' was modified to a value of type `~a'"
 				    var ot rt)
 				  #t)))))
-		      (when strict-variable-types
-			;; don't use "add-to-blist" since this does not affect aliases
-			(set! blist (alist-cons (cons var (car flow)) rt blist))))
+		      ;; don't use "add-to-blist" since this does not affect aliases
+		      (set! blist
+			(alist-cons (cons var (car flow)) 
+				    (if strict-variable-types rt '*)
+				    blist)))
 		    '(undefined)))
 		 ((##core#primitive ##core#inline_ref) '*)
 		 ((##core#call)
@@ -1254,6 +1256,8 @@
 	     (and (= 2 (length t))
 		  (symbol? (cadr t))
 		  t))
+	    ((eq? 'deprecated (car t))
+	     (and (= 2 (length t)) (symbol? (second t))))
 	    ((eq? 'procedure (car t))
 	     (and (pair? (cdr t))
 		  (let* ((name (if (symbol? (cadr t))
Trap