diff options
author | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2010-06-11 18:18:10 +0200 |
---|---|---|
committer | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2010-06-11 18:18:10 +0200 |
commit | aaa22fbbc9736f6010b534b2d00b5f1f2b14f46a (patch) | |
tree | a82f5252cb6ec24693e0aa3545a79ecad9cc989e /geiser | |
parent | ecbddf9fa8b11ff7546b0bc7f8458c0028a4fb9c (diff) | |
download | geiser-guile-aaa22fbbc9736f6010b534b2d00b5f1f2b14f46a.tar.gz geiser-guile-aaa22fbbc9736f6010b534b2d00b5f1f2b14f46a.tar.bz2 |
Guile: showing again submodules in module documentation.
Diffstat (limited to 'geiser')
-rw-r--r-- | geiser/modules.scm | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/geiser/modules.scm b/geiser/modules.scm index f7ea927..a57145e 100644 --- a/geiser/modules.scm +++ b/geiser/modules.scm @@ -57,7 +57,7 @@ (define (module-path module-name) (and (module-name? module-name) (or ((@@ (ice-9 session) module-filename) module-name) - (module-filename (resolve-module module-name))))) + (module-filename (resolve-module module-name #f))))) (define (submodules mod) (hash-map->list (lambda (k v) v) (module-submodules mod))) @@ -82,19 +82,19 @@ cs))) (define (module-exports mod-name) - (let* ((elts (hash-fold classify-module-object + (let* ((mod (catch #t + (lambda () (resolve-interface mod-name)) + (lambda args (resolve-module mod-name)))) + (elts (hash-fold classify-module-object (list '() '() '()) - (module-obarray (maybe-module-interface mod-name)))) + (module-obarray mod))) (elts (map sort-symbols! elts))) - (list (cons 'modules (map (lambda (m) `(,@mod-name ,m)) (car elts))) + (list (cons 'modules (append + (map module-name (submodules mod)) + (map (lambda (m) `(,@mod-name ,m)) (car elts)))) (cons 'procs (cadr elts)) (cons 'vars (caddr elts))))) -(define (maybe-module-interface mod-name) - (catch #t - (lambda () (resolve-interface mod-name)) - (lambda args (resolve-module mod-name)))) - (define (classify-module-object name var elts) (let ((obj (and (variable-bound? var) (variable-ref var)))) |