diff options
-rw-r--r-- | ice-9/ChangeLog | 5 | ||||
-rw-r--r-- | ice-9/session.scm | 64 |
2 files changed, 35 insertions, 34 deletions
diff --git a/ice-9/ChangeLog b/ice-9/ChangeLog index 74d41b334..2703c0ee5 100644 --- a/ice-9/ChangeLog +++ b/ice-9/ChangeLog @@ -1,3 +1,8 @@ +2000-12-13 Dirk Herrmann <D.Herrmann@tu-bs.de> + + * session.scm (apropos): Completed the last patch, which did only + half the job. Thanks to Dale P. Smith. + 2000-12-12 Dirk Herrmann <D.Herrmann@tu-bs.de> * session.scm (apropos, apropos-fold): There are no weak bindings diff --git a/ice-9/session.scm b/ice-9/session.scm index a8d2878db..1148bbcf8 100644 --- a/ice-9/session.scm +++ b/ice-9/session.scm @@ -198,40 +198,36 @@ where OPTIONSET is one of debug, read, eval, print (let* ((builtin (or (eq? module the-scm-module) (eq? module the-root-module))) (name (module-name module)) - (obarrays (if builtin - (list (builtin-bindings)) - (list (module-obarray module)))) - (get-refs (if builtin - (list id id) - (list variable-ref))) - ) - (for-each - (lambda (obarray get-ref) - (array-for-each - (lambda (oblist) - (for-each - (lambda (x) - (cond ((regexp-exec match (symbol->string (car x))) - (display name) - (display ": ") - (display (car x)) - (cond ((procedure? (get-ref (cdr x))) - (display separator) - (display (get-ref (cdr x)))) - (value - (display separator) - (display (get-ref (cdr x))))) - (if (and shadow - (not (eq? (module-ref module - (car x)) - (module-ref (current-module) - (car x))))) - (display " shadowed")) - (newline) - ))) - oblist)) - obarray)) - obarrays get-refs))) + (obarray (if builtin + (builtin-bindings) + (module-obarray module))) + (get-ref (if builtin + id + variable-ref))) + (array-for-each + (lambda (oblist) + (for-each + (lambda (x) + (cond ((regexp-exec match (symbol->string (car x))) + (display name) + (display ": ") + (display (car x)) + (cond ((procedure? (get-ref (cdr x))) + (display separator) + (display (get-ref (cdr x)))) + (value + (display separator) + (display (get-ref (cdr x))))) + (if (and shadow + (not (eq? (module-ref module + (car x)) + (module-ref (current-module) + (car x))))) + (display " shadowed")) + (newline) + ))) + oblist)) + obarray))) modules)))) (define-public (apropos-internal rgx) |