summaryrefslogtreecommitdiff
path: root/scheme/guile/geiser/modules.scm
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2010-06-11 18:18:10 +0200
committerJose Antonio Ortega Ruiz <jao@gnu.org>2010-06-11 18:18:10 +0200
commita182ebe9a51ecb902103d038b4b217ded959a025 (patch)
treea4f833862aa5e36f5a583127b7d50d9b017d31d8 /scheme/guile/geiser/modules.scm
parent9ff0ba8e1fb1b990c6f5e17f7ccb69101d96d4a6 (diff)
downloadgeiser-guile-a182ebe9a51ecb902103d038b4b217ded959a025.tar.gz
geiser-guile-a182ebe9a51ecb902103d038b4b217ded959a025.tar.bz2
Guile: showing again submodules in module documentation.
Diffstat (limited to 'scheme/guile/geiser/modules.scm')
-rw-r--r--scheme/guile/geiser/modules.scm18
1 files changed, 9 insertions, 9 deletions
diff --git a/scheme/guile/geiser/modules.scm b/scheme/guile/geiser/modules.scm
index f7ea927..a57145e 100644
--- a/scheme/guile/geiser/modules.scm
+++ b/scheme/guile/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))))