Hi,

the attached patch relaxes the type check for the procedure as
returned by condition-predicate.

Thanks to John Cowan for the bug report.

Kind regards,

Christian

-- 
Who can (make) the muddy water (clear)? Let it be still, and it will
gradually become clear. Who can secure the condition of rest? Let
movement go on, and the condition of rest will gradually arise.
 -- Lao Tse. 
>From 33c404c444d5bb5592425c2485fbd8450b95af36 Mon Sep 17 00:00:00 2001
From: Christian Kellermann <ck...@pestilenz.org>
Date: Sat, 1 Oct 2011 22:42:26 +0200
Subject: [PATCH] Make the procedure returned by condition-predicate accept any 
argument.

This fixes bug #708 as reported by John Cowan.
---
 library.scm |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/library.scm b/library.scm
index e07e9c4..477b7a4 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))
-- 
1.7.3.5

_______________________________________________
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-hackers

Reply via email to