diff options
author | mathieu2em <math.per@hotmail.com> | 2019-07-23 14:47:40 -0400 |
---|---|---|
committer | mathieu2em <math.per@hotmail.com> | 2019-08-20 15:31:38 -0400 |
commit | a98abdcf233e62f87ee5a3e87046ca5995ddd75a (patch) | |
tree | 640cfa67d46633368ed1051fd34966b9628718a1 /scheme/gambit/geiser | |
parent | efea09184eed27ca9a86e1a96a39203326633616 (diff) | |
download | geiser-guile-a98abdcf233e62f87ee5a3e87046ca5995ddd75a.tar.gz geiser-guile-a98abdcf233e62f87ee5a3e87046ca5995ddd75a.tar.bz2 |
fix a problem with non-procedures symbols from ##symbol-table completion
Diffstat (limited to 'scheme/gambit/geiser')
-rw-r--r-- | scheme/gambit/geiser/gambit.scm | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/scheme/gambit/geiser/gambit.scm b/scheme/gambit/geiser/gambit.scm index b13d5e3..ee307f3 100644 --- a/scheme/gambit/geiser/gambit.scm +++ b/scheme/gambit/geiser/gambit.scm @@ -125,18 +125,22 @@ (symbols-list '())) (if (< i sym-len) (let ((sym (vector-ref sym-tab i))) + (pp sym) (loop (+ i 1) (if (symbol? sym) - (let loop2 ((sym-list (if (##string-prefix? prefix sym) + (let loop2 ((sym-list (if (and (##string-prefix? prefix sym) + (procedure? (##global-var-ref (##make-global-var sym)))) (cons (symbol->string sym) symbols-list) symbols-list)) (vect sym)) (let ((sym2 (##vector-ref vect 2))) + (pp sym2) (if (symbol? sym2) - (if (##string-prefix? prefix sym2) + (if (and (##string-prefix? prefix sym2) + (procedure? (##global-var-ref (##make-global-var sym)))) (loop2 (cons (symbol->string sym2) sym-list) sym2) (loop2 sym-list sym2)) - sym-list))) + sym-list))) symbols-list))) symbols-list)))) |