branch: elpa/geiser
commit ffff3931e104c73a0f332c9e181d11eebd81d816
Author: jao <[email protected]>
Commit: jao <[email protected]>
fix: don't override user's capfs (see issue #50)
---
elisp/geiser-capf.el | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/elisp/geiser-capf.el b/elisp/geiser-capf.el
index 73a6f07d12..d51a88cc4e 100644
--- a/elisp/geiser-capf.el
+++ b/elisp/geiser-capf.el
@@ -70,13 +70,15 @@
(let ((comint-completion-addsuffix "\""))
(ignore-errors (comint-filename-completion)))))
+(defconst geiser-capf--capfs
+ '(geiser-capf--for-filename geiser-capf--for-module geiser-capf--for-symbol))
+
(defun geiser-capf-setup (enable)
- (set (make-local-variable 'completion-at-point-functions)
- (if enable
- '(geiser-capf--for-symbol
- geiser-capf--for-module
- geiser-capf--for-filename)
- (default-value 'completion-at-point-functions))))
+ (if enable
+ (dolist (f geiser-capf--capfs)
+ (add-hook 'completion-at-point-functions f nil t))
+ (dolist (f geiser-capf--capfs)
+ (remove-hook 'completion-at-point-functions f t))))
(defun geiser-capf-complete-module ()
"Complete module name at point."