branch: externals/cape
commit 5c198df8767cf9bbc4c4272142ae36c0b7681888
Author: Daniel Mendler <m...@daniel-mendler.de>
Commit: Daniel Mendler <m...@daniel-mendler.de>

    cape-company-to-capf: Handle updated 'prefix return value convention (Fix 
#146)
---
 cape.el | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/cape.el b/cape.el
index 1554be1995..1142e7202c 100644
--- a/cape.el
+++ b/cape.el
@@ -811,10 +811,11 @@ again if the input prefix changed."
       (funcall backend 'init)
       (put backend 'company-init t)
       (setf (alist-get backend cape--company-init) t))
-    (when-let ((prefix (cape--company-call backend 'prefix))
-               (initial-input (if (stringp prefix) prefix (car-safe prefix))))
-      (let* ((end (point)) (beg (- end (length initial-input)))
-             (valid (if (cape--company-call backend 'no-cache initial-input)
+    (when-let ((pre (pcase (cape--company-call backend 'prefix)
+                      ((or `(,p ,_s) (and (pred stringp) p)) (cons p (length 
p)))
+                      ((or `(,p ,_s ,l) `(,p . ,l)) (cons p l)))))
+      (let* ((end (point)) (beg (- end (length (car pre))))
+             (valid (if (cape--company-call backend 'no-cache (car pre))
                         #'equal (or valid #'string-prefix-p)))
              (sort-fun (and (cape--company-call backend 'sorted) #'identity))
              restore-props)
@@ -835,7 +836,7 @@ again if the input prefix changed."
                     (cons (apply-partially valid input) cands)))))
               :category backend
               :exclusive 'no
-              :company-prefix-length (cdr-safe prefix)
+              :company-prefix-length (cdr pre)
               :company-doc-buffer (lambda (x) (cape--company-call backend 
'doc-buffer x))
               :company-location (lambda (x) (cape--company-call backend 
'location x))
               :company-docsig (lambda (x) (cape--company-call backend 'meta x))

Reply via email to