branch: elpa/slime
commit 5d292a981df390d5af635c1f5be89978686fd5c6
Author: Stas Boukarev <[email protected]>
Commit: Stas Boukarev <[email protected]>
slime-c-p-c: do not override slime-completion-at-point-functions
Fixes #769
---
contrib/slime-c-p-c.el | 5 -----
slime.el | 13 +++++++++----
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/contrib/slime-c-p-c.el b/contrib/slime-c-p-c.el
index 744b47bdddd..12601fda282 100644
--- a/contrib/slime-c-p-c.el
+++ b/contrib/slime-c-p-c.el
@@ -15,17 +15,12 @@
(:on-load
(push
`(progn
- (remove-hook 'slime-completion-at-point-functions
- #'slime-c-p-c-completion-at-point)
- (remove-hook 'slime-connected-hook 'slime-c-p-c-on-connect)
,@(when (featurep 'slime-repl)
`((define-key slime-mode-map "\C-c\C-s"
',(lookup-key slime-mode-map "\C-c\C-s"))
(define-key slime-repl-mode-map "\C-c\C-s"
',(lookup-key slime-repl-mode-map "\C-c\C-s")))))
slime-c-p-c-init-undo-stack)
- (add-hook 'slime-completion-at-point-functions
- #'slime-c-p-c-completion-at-point)
(define-key slime-mode-map "\C-c\C-s" 'slime-complete-form)
(when (featurep 'slime-repl)
(define-key slime-repl-mode-map "\C-c\C-s" 'slime-complete-form)))
diff --git a/slime.el b/slime.el
index 8dfb9176bf3..fad1a975b3f 100644
--- a/slime.el
+++ b/slime.el
@@ -267,7 +267,7 @@ argument."
(defcustom slime-complete-symbol-function 'nil
"Obsolete. Use `slime-completion-at-point-functions' instead."
:group 'slime-mode
- :type '(choice (const :tag "Compound" slime-complete-symbol*)
+ :type '(choice (const :tag "Compound" slime-c-p-c-completion-at-point)
(const :tag "Fuzzy" slime-fuzzy-complete-symbol)))
(defcustom slime-fuzzy-default-completion-ui nil
@@ -280,11 +280,13 @@ argument."
"2015-10-18")
(defcustom slime-completion-at-point-functions
- '(slime-filename-completion
+ '(slime-c-p-c-completion-at-point
+ slime-filename-completion
slime-simple-completion-at-point)
"List of functions to perform completion.
Works like `completion-at-point-functions'.
`slime--completion-at-point' uses this variable."
+ :type 'sexp
:group 'slime-mode)
;;;;; slime-mode-faces
@@ -3608,6 +3610,7 @@ more than one space."
(defalias 'slime-complete-symbol #'completion-at-point)
(make-obsolete 'slime-complete-symbol #'completion-at-point "2015-10-17")
+(defvar slime-completion-at-point-functions*)
;; This is the function that we add to
;; `completion-at-point-functions'. For backward-compatibilty we look
@@ -3620,8 +3623,10 @@ more than one space."
(cond (slime-complete-symbol-function
slime-complete-symbol-function)
(t
- (run-hook-with-args-until-success
- 'slime-completion-at-point-functions)))))
+ (let ((slime-completion-at-point-functions*
+ (cl-remove-if-not #'fboundp
slime-completion-at-point-functions)))
+ (run-hook-with-args-until-success
+ 'slime-completion-at-point-functions))))))
(if (and slime-fuzzy-default-completion-ui
fun
(symbolp fun))