diff options
| author | Omar Antolín <omar.antolin@gmail.com> | 2020-04-17 00:06:36 -0500 |
|---|---|---|
| committer | Omar Antolín <omar.antolin@gmail.com> | 2020-04-17 00:06:36 -0500 |
| commit | 39202177e10c37a6657b2bc0bab4d265f76b5c62 (patch) | |
| tree | 6d8d06f44cd0425480a7220e48b5a7a6496739a3 /orderless.el | |
| parent | 2813ffb2b103d660f45a845e255015bf71e9f485 (diff) | |
Undo previous optimization as it is invalid in general :(
Diffstat (limited to 'orderless.el')
| -rw-r--r-- | orderless.el | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/orderless.el b/orderless.el index a16bbc1..de21508 100644 --- a/orderless.el +++ b/orderless.el @@ -112,18 +112,11 @@ The predicate PRED is used to constrain the entries in TABLE. This function is part of the `orderless' completion style." (save-match-data (let* ((limit (car (completion-boundaries string table pred ""))) - (all-regexps (split-string (substring string limit) - orderless-regexp-separator - t)) - (pending-regexps all-regexps) - (first (if (> limit 0) - (substring string 0 limit) - (let ((first (car all-regexps))) - (if (not (string= first (regexp-quote first))) - "" - (setq pending-regexps (cdr all-regexps)) - first)))) - (all (all-completions first table pred))) + (prefix (substring string 0 limit)) + (all (all-completions prefix table pred)) + (regexps (split-string (substring string limit) + orderless-regexp-separator + t))) (when minibuffer-completing-file-name (setq all (completion-pcm--filename-try-filter all))) (condition-case nil @@ -131,15 +124,15 @@ This function is part of the `orderless' completion style." (setq all (cl-loop for original in all when - (cl-loop for regexp in pending-regexps + (cl-loop for regexp in regexps always (string-match-p regexp original)) collect ; it's a match, copy and highlight (cl-loop with candidate = (copy-sequence original) - for regexp in all-regexps and face from 0 do + for regexp in regexps and face from 0 do (orderless--highlight-match regexp candidate face) finally (return candidate)))) - (when all (nconc all limit))) + (when all (nconc all (length prefix)))) (invalid-regexp nil))))) (defun orderless-try-completion (string table pred point &optional _metadata) |
