[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
guile/guile-core/ice-9 session.scm
From: |
Marius Vollmer |
Subject: |
guile/guile-core/ice-9 session.scm |
Date: |
Sat, 02 Jun 2001 11:32:03 -0700 |
CVSROOT: /cvs
Module name: guile
Changes by: Marius Vollmer <address@hidden> 01/06/02 11:32:03
Modified files:
guile-core/ice-9: session.scm
Log message:
(apropos-fold, submodules, apropos): Be careful not
to access unbound variables.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/ice-9/session.scm.diff?cvsroot=OldCVS&tr1=1.28&tr2=1.29&r1=text&r2=text
Patches:
Index: guile/guile-core/ice-9/session.scm
diff -u guile/guile-core/ice-9/session.scm:1.28
guile/guile-core/ice-9/session.scm:1.29
--- guile/guile-core/ice-9/session.scm:1.28 Fri May 18 10:10:42 2001
+++ guile/guile-core/ice-9/session.scm Sat Jun 2 11:32:03 2001
@@ -257,12 +257,14 @@
(display name)
(display ": ")
(display (car x))
- (cond ((procedure? (variable-ref (cdr x)))
+ (cond ((variable-bound? (cdr x))
+ (let ((val (variable-ref (cdr x))))
+ (cond ((or (procedure? val) value)
+ (display separator)
+ (display val)))))
+ (else
(display separator)
- (display (variable-ref (cdr x))))
- (value
- (display separator)
- (display (variable-ref (cdr x)))))
+ (display "(unbound)")))
(if (and shadow
(not (eq? (module-ref module
(car x))
@@ -313,7 +315,9 @@
data)))
(module-filter
(lambda (name var data)
- (obarray-filter name (variable-ref var) data))))
+ (if (variable-bound? var)
+ (obarray-filter name (variable-ref var) data)
+ data))))
(cond (module (hash-fold module-filter
data
(module-obarray module)))
@@ -352,7 +356,7 @@
(define (submodules m)
(hash-fold (lambda (name var data)
- (let ((obj (variable-ref var)))
+ (let ((obj (and (variable-bound? var) (variable-ref var))))
(if (and (module? obj)
(eq? (module-kind obj) 'directory))
(cons obj data)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- guile/guile-core/ice-9 session.scm,
Marius Vollmer <=