branch: externals/marginalia
commit a5ce6aab48827a3b569d882dd9b2e653527f9f9a
Author: Daniel Mendler <m...@daniel-mendler.de>
Commit: Daniel Mendler <m...@daniel-mendler.de>

    Work around `completion-boundaries' bug in Emacs 27.1
    
    See #67
---
 marginalia.el | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/marginalia.el b/marginalia.el
index ffc68b2..b9404c7 100644
--- a/marginalia.el
+++ b/marginalia.el
@@ -649,11 +649,15 @@ The string is transformed according to 
`marginalia-bookmark-type-transformers'."
                (pt (- (point) (minibuffer-prompt-end)))
                (before (substring contents 0 pt))
                (after (substring contents pt))
-               (bounds (completion-boundaries
-                        before
-                        minibuffer-completion-table
-                        minibuffer-completion-predicate
-                        after))
+               ;; BUG: `completion-boundaries` fails for `partial-completion`
+               ;; if the cursor is moved between the slashes of "~//".
+               ;; See also vertico.el.
+               (bounds (or (condition-case nil
+                               (completion-boundaries before
+                                                      
minibuffer-completion-table
+                                                      
minibuffer-completion-predicate
+                                                      after)
+                             (t (cons 0 (length after))))))
                (components (split-string (substring before 0 (car bounds)) 
"/"))
                (num-replace (if (string-suffix-p "/" file)
                                 (cl-count ?/ file)

Reply via email to