emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/capf-autosuggest 84bdbc5 44/63: Fix completion-in-regio


From: ELPA Syncer
Subject: [elpa] externals/capf-autosuggest 84bdbc5 44/63: Fix completion-in-region popping up in eshell after "(forward"
Date: Wed, 27 Oct 2021 14:58:01 -0400 (EDT)

branch: externals/capf-autosuggest
commit 84bdbc5f0809c26bc8d527abaf79bcec85cdecb5
Author: jakanakaevangeli <jakanakaevangeli@chiru.no>
Commit: jakanakaevangeli <jakanakaevangeli@chiru.no>

    Fix completion-in-region popping up in eshell after "(forward"
---
 capf-autosuggest.el | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/capf-autosuggest.el b/capf-autosuggest.el
index bbc3e7e..9ba92ca 100644
--- a/capf-autosuggest.el
+++ b/capf-autosuggest.el
@@ -169,9 +169,18 @@ Otherwise, return nil."
         (capf-autosuggest-active-mode -1))))
 
   (unless capf-autosuggest-active-mode
-    (pcase (let ((buffer-read-only t))
+    (pcase (let* ((catch-sym (make-symbol "cirf-catch"))
+                  ;; `pcomplete-completions-at-point' may illegally use
+                  ;; `completion-in-region' itself instead of returning a
+                  ;; collection.  Let's try to outsmart it.
+                  (completion-in-region-function
+                   (lambda (start end collection predicate)
+                     (throw catch-sym
+                            (list start end collection :predicate predicate))))
+                  (buffer-read-only t))
              (condition-case _
-                 (capf-autosuggest-orig-capf 'capf-autosuggest-capf-functions)
+                 (catch catch-sym
+                   (capf-autosuggest-orig-capf 
'capf-autosuggest-capf-functions))
                (buffer-read-only t)))
       (`(,beg ,end ,table . ,plist)
        (let* ((pred (plist-get plist :predicate))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]