emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/geiser-guile aaa22fb 136/284: Guile: showing again submodu


From: Philip Kaludercic
Subject: [nongnu] elpa/geiser-guile aaa22fb 136/284: Guile: showing again submodules in module documentation.
Date: Sun, 1 Aug 2021 18:29:31 -0400 (EDT)

branch: elpa/geiser-guile
commit aaa22fbbc9736f6010b534b2d00b5f1f2b14f46a
Author: Jose Antonio Ortega Ruiz <jao@gnu.org>
Commit: Jose Antonio Ortega Ruiz <jao@gnu.org>

    Guile: showing again submodules in module documentation.
---
 geiser/modules.scm | 18 +++++++++---------
 1 file 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))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]