diff options
Diffstat (limited to 'scheme')
-rw-r--r-- | scheme/guile/geiser/modules.scm | 6 | ||||
-rw-r--r-- | scheme/guile/geiser/xref.scm | 2 |
2 files changed, 5 insertions, 3 deletions
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)))))) |