summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--elisp/geiser-repl.el3
-rw-r--r--scheme/guile/geiser/modules.scm6
-rw-r--r--scheme/guile/geiser/xref.scm2
3 files changed, 7 insertions, 4 deletions
diff --git a/elisp/geiser-repl.el b/elisp/geiser-repl.el
index b3a47e7..85b7ee8 100644
--- a/elisp/geiser-repl.el
+++ b/elisp/geiser-repl.el
@@ -231,7 +231,8 @@ If no REPL is running, execute `run-geiser' to start a fresh one."
(defun geiser-repl--on-kill ()
(geiser-repl--on-quit)
- (remove (current-buffer) geiser-repl--closed-repls))
+ (setq geiser-repl--closed-repls
+ (remove (current-buffer) geiser-repl--closed-repls)))
(defun geiser-repl--input-filter (str)
(and (not (string-match "^\\s *$" str))
diff --git a/scheme/guile/geiser/modules.scm b/scheme/guile/geiser/modules.scm
index 0afb8fd..fdc3f3f 100644
--- a/scheme/guile/geiser/modules.scm
+++ b/scheme/guile/geiser/modules.scm
@@ -35,7 +35,7 @@
#:use-module (ice-9 session)
#:use-module (srfi srfi-1))
-(define (symbol-module sym)
+(define (symbol-module sym . all)
(and sym
(catch 'module-name
(lambda ()
@@ -44,7 +44,9 @@
(throw 'module-name (module-name module)) init))
#f
(regexp-quote (symbol->string sym))
- (apropos-fold-accessible (current-module))))
+ (if (or (null? all) (not (car all)))
+ (apropos-fold-accessible (current-module))
+ apropos-fold-all)))
(lambda (key . args)
(and (eq? key 'module-name) (car args))))))
diff --git a/scheme/guile/geiser/xref.scm b/scheme/guile/geiser/xref.scm
index ec86d7c..33821b7 100644
--- a/scheme/guile/geiser/xref.scm
+++ b/scheme/guile/geiser/xref.scm
@@ -72,7 +72,7 @@
(make-xref proc name (symbol-module name))))
(define (callers sym)
- (let ((mod (symbol-module sym)))
+ (let ((mod (symbol-module sym #t)))
(and mod
(map procedure-xref (procedure-callers (cons mod sym))))))