From 151eb1884a075479e6aa4bc91982661730375d46 Mon Sep 17 00:00:00 2001
From: Jose Antonio Ortega Ruiz <jao@gnu.org>
Date: Sat, 24 Jul 2010 22:00:43 +0200
Subject: Racket: catching errors during contract retrieval.

---
 scheme/racket/geiser/modules.rkt | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

(limited to 'scheme')

diff --git a/scheme/racket/geiser/modules.rkt b/scheme/racket/geiser/modules.rkt
index af19b03..9b640ec 100644
--- a/scheme/racket/geiser/modules.rkt
+++ b/scheme/racket/geiser/modules.rkt
@@ -138,7 +138,9 @@
   module-cache)
 
 (define (module-exports mod)
-  (define (value id) (dynamic-require mod id (const #f)))
+  (define (value id)
+    (with-handlers ([exn? (const #f)])
+      (dynamic-require mod id (const #f))))
   (define (contracted id)
     (let ([v (value id)])
       (if (has-contract? v)
-- 
cgit v1.2.3