diff options
| author | Daniel Mendler <mail@daniel-mendler.de> | 2021-11-25 15:15:29 +0100 |
|---|---|---|
| committer | Daniel Mendler <mail@daniel-mendler.de> | 2021-11-25 15:15:29 +0100 |
| commit | 1e59cf2b9cb6d6c6e8753c82f285177b4e27a01d (patch) | |
| tree | b14f1732dfe73c68662c77a9af867b2e77694f3d | |
| parent | 8cea82b6d395078d0105f4957d4a95206dc9c7ba (diff) | |
Fix orderless-try-completion for hash tables and alists
| -rw-r--r-- | orderless.el | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/orderless.el b/orderless.el index 9250756..09ef368 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) |
