~ chicken-core (chicken-5) fcff2bc347a95259907de78e019cf70252e31d49


commit fcff2bc347a95259907de78e019cf70252e31d49
Author:     Christian Kellermann <ckeen@pestilenz.org>
AuthorDate: Sat Oct 1 22:42:26 2011 +0200
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Sun Oct 2 13:11:31 2011 +0200

    Make the procedure returned by condition-predicate accept any argument.
    
    This fixes bug #708 as reported by John Cowan.
    
    Signed-off-by: felix <felix@call-with-current-continuation.org>

diff --git a/library.scm b/library.scm
index e07e9c40..477b7a4c 100644
--- a/library.scm
+++ b/library.scm
@@ -4003,8 +4003,8 @@ EOF
 
 (define (condition-predicate kind)
   (lambda (c) 
-    (##sys#check-structure c 'condition)
-    (if (memv kind (##sys#slot c 1)) #t #f) ) )
+    (and (condition? c)
+         (if (memv kind (##sys#slot c 1)) #t #f)) ) )
 
 (define (condition-property-accessor kind prop . err-def)
   (let ((err? (null? err-def))
Trap