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.el7
1 files changed, 3 insertions, 4 deletions
diff --git a/elisp/geiser-completion.el b/elisp/geiser-completion.el
index 8b58b2b..dd0c33c 100644
--- a/elisp/geiser-completion.el
+++ b/elisp/geiser-completion.el
@@ -169,9 +169,8 @@ terminates a current completion."
;;; Completion functionality:
-(defun geiser-completion--symbol-list (prefix)
- (geiser-eval--retort-result
- (geiser-eval--send/wait `(:gs ((:ge completions) ,prefix)))))
+(defsubst geiser-completion--symbol-list (prefix)
+ (geiser-eval--send/result `(:gs ((:ge completions) ,prefix))))
(defvar geiser-completion--symbol-list-func
(completion-table-dynamic 'geiser-completion--symbol-list))
@@ -204,7 +203,7 @@ terminates a current completion."
Perform completion similar to Emacs' complete-symbol."
(interactive)
(let* ((end (point))
- (beg (save-excursion (beginning-of-sexp) (point)))
+ (beg (save-excursion (skip-syntax-backward "^-()") (point)))
(prefix (buffer-substring-no-properties beg end))
(result (geiser-completion--complete prefix nil))
(completions (car result))