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

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

[elpa] externals/orderless 1e59cf2b9c 195/204: Fix orderless-try-complet


From: ELPA Syncer
Subject: [elpa] externals/orderless 1e59cf2b9c 195/204: Fix orderless-try-completion for hash tables and alists
Date: Tue, 11 Jan 2022 12:58:30 -0500 (EST)

branch: externals/orderless
commit 1e59cf2b9cb6d6c6e8753c82f285177b4e27a01d
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>

    Fix orderless-try-completion for hash tables and alists
---
 orderless.el | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/orderless.el b/orderless.el
index 9250756688..09ef368f81 100644
--- a/orderless.el
+++ b/orderless.el
@@ -464,11 +464,16 @@ This function is part of the `orderless' completion 
style."
       ;; Should be more or less allocation-free since our "predicate"
       ;; always returns nil.
       (orderless-filter string table
-                        (lambda (str)
-                          (when (or (not pred) (funcall pred str))
+                        ;; key/value for hash tables
+                        (lambda (&rest args)
+                          (when (or (not pred) (apply pred args))
                             (when one
                               (throw 'orderless--many (cons string point)))
-                            (setq one str))
+                            (setq one (pcase-exhaustive args
+                                        (`((,key . ,_val)) key) ;; alists
+                                        (`(,str) str) ;; strings/symbols
+                                        (`(,key ,_val) key)) ;; hash tables
+                                  one (if (symbolp one) (symbol-name one) 
one)))
                           nil))
       (when one
         (if (equal string one)



reply via email to

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