[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/geiser-guile ecbddf9 135/284: Guile: fix for module name c
From: |
Philip Kaludercic |
Subject: |
[nongnu] elpa/geiser-guile ecbddf9 135/284: Guile: fix for module name completion. |
Date: |
Sun, 1 Aug 2021 18:29:31 -0400 (EDT) |
branch: elpa/geiser-guile
commit ecbddf9fa8b11ff7546b0bc7f8458c0028a4fb9c
Author: Jose Antonio Ortega Ruiz <jao@gnu.org>
Commit: Jose Antonio Ortega Ruiz <jao@gnu.org>
Guile: fix for module name completion.
---
geiser/modules.scm | 36 ++++++++++++++++++++----------------
1 file changed, 20 insertions(+), 16 deletions(-)
diff --git a/geiser/modules.scm b/geiser/modules.scm
index f0e7bf8..f7ea927 100644
--- a/geiser/modules.scm
+++ b/geiser/modules.scm
@@ -59,14 +59,27 @@
(or ((@@ (ice-9 session) module-filename) module-name)
(module-filename (resolve-module module-name)))))
+(define (submodules mod)
+ (hash-map->list (lambda (k v) v) (module-submodules mod)))
+
+(define (root-modules)
+ (submodules (resolve-module '() #f)))
+
(define (all-modules)
- (let ((roots ((@@ (ice-9 session) root-modules))))
- (map (lambda (m)
- (format "~A" (module-name m)))
- (fold (lambda (m all)
- (append (all-child-modules m) all))
- roots
- roots))))
+ (let ((guile (resolve-module '(guile))))
+ (cons "(guile)"
+ (apply append
+ (map (lambda (r)
+ (map (lambda (m)
+ (format "~A" (module-name m)))
+ (all-child-modules r '())))
+ (remove (lambda (m) (eq? m guile)) (root-modules)))))))
+
+(define (all-child-modules mod seen)
+ (let ((cs (filter (lambda (m) (not (member m seen))) (submodules mod))))
+ (fold (lambda (m all) (append (all-child-modules m all) all))
+ (list mod)
+ cs)))
(define (module-exports mod-name)
(let* ((elts (hash-fold classify-module-object
@@ -82,15 +95,6 @@
(lambda () (resolve-interface mod-name))
(lambda args (resolve-module mod-name))))
-(define (child-modules mod)
- (delq mod ((@@ (ice-9 session) submodules) mod)))
-
-(define (all-child-modules mod)
- (let ((children (child-modules mod)))
- (fold (lambda (m all)
- (append (all-child-modules m) all))
- children children)))
-
(define (classify-module-object name var elts)
(let ((obj (and (variable-bound? var)
(variable-ref var))))
- [nongnu] elpa/geiser-guile 98dd4d8 108/284: Guile: Geiser now behaves correctly in buffers for unloaded modules., (continued)
- [nongnu] elpa/geiser-guile 98dd4d8 108/284: Guile: Geiser now behaves correctly in buffers for unloaded modules., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 19acc65 112/284: New command to switch to REPL and put it in current module., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 1af3138 111/284: Guile: support for the REPL debugger, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 32e7fbd 114/284: Guile: 'bt' when entering the debugger., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 9e38247 118/284: Using the scheme reader to read modules names., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 2128f08 147/284: Tweaks to scheme implementation selection, and docs for it., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 7b83e4a 130/284: Guile: dead elisp code elimination., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 5b1bed8 142/284: Better switch/import REPL commands., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 430e127 152/284: Guile: display backtrace upon entering debugger., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 71c4355 148/284: Displaying variable values in autodoc., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile ecbddf9 135/284: Guile: fix for module name completion.,
Philip Kaludercic <=
- [nongnu] elpa/geiser-guile 5d49d07 122/284: Guile: fixes for error navigation., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile a57999c 126/284: Guile: fix for finding locations of symbols in modules outside load path., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 03534f1 143/284: Guile: restoring (minimal) support for debugging REPL., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 216897a 133/284: Guile: displaying the debugger preamble., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 574559b 131/284: Oops, it wasn't dead., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile c2aa8ae 146/284: Guile: bug fix in macro's autodoc., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 46e6067 154/284: Guile: show error message upon entering the debugger, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 09f4994 159/284: Guile: better filtering of "anonymous" module names, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 0505bde 158/284: REPL: (optionally) forget old errors on new expressions, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 4766cbc 163/284: Support for evaluation warnings, Philip Kaludercic, 2021/08/01