* Fixed the last patch (which was uncomplete). Thanks to Dale P. Smith.

This commit is contained in:
Dirk Herrmann 2000-12-13 09:44:28 +00:00
commit 10764e3c34
2 changed files with 35 additions and 34 deletions

View file

@ -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

View file

@ -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)