summaryrefslogtreecommitdiff
path: root/elisp/geiser-completion.el
diff options
context:
space:
mode:
Diffstat (limited to 'elisp/geiser-completion.el')
-rw-r--r--elisp/geiser-completion.el8
1 files changed, 7 insertions, 1 deletions
diff --git a/elisp/geiser-completion.el b/elisp/geiser-completion.el
index 7b5d7d7..7e1f642 100644
--- a/elisp/geiser-completion.el
+++ b/elisp/geiser-completion.el
@@ -29,6 +29,8 @@
(require 'geiser-syntax)
(require 'geiser-base)
+(eval-when-compile (require 'cl))
+
;;; Completions window handling, heavily inspired in slime's:
@@ -145,7 +147,11 @@ terminates a current completion."
;;; Completion functionality:
(defsubst geiser-completion--symbol-list (prefix)
- (geiser-eval--send/result `(:eval ((:ge completions) ,prefix))))
+ (delete-duplicates
+ (geiser-eval--send/result
+ `(:eval ((:ge completions) ,prefix
+ (quote (:scm ,(geiser-syntax--get-partial-sexp))))))
+ :test 'string=))
(defsubst geiser-completion--module-list ()
(geiser-eval--send/result '(:eval ((:ge all-modules)))))