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

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

[elpa] externals/cape b3c5e4ec69 018/146: cape-merge-capfs: Fix sorting


From: ELPA Syncer
Subject: [elpa] externals/cape b3c5e4ec69 018/146: cape-merge-capfs: Fix sorting
Date: Sun, 9 Jan 2022 20:57:39 -0500 (EST)

branch: externals/cape
commit b3c5e4ec690704c317bf9e9566cb72b465a4f597
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>

    cape-merge-capfs: Fix sorting
---
 cape.el | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/cape.el b/cape.el
index a14a7fa36f..612f4351dc 100644
--- a/cape.el
+++ b/cape.el
@@ -481,9 +481,13 @@
                   (ht (make-hash-table :test #'equal)))
         (cl-loop for (beg2 end2 table . plist) in results do
                  (when (and (= beg beg2) (= end end2))
-                   (setq table (all-completions "" table (plist-get plist 
:predicate))
-                         candidates (nconc candidates table))
-                   (cl-loop for cand in table do (puthash cand plist ht))))
+                   (let* ((pred (plist-get plist :predicate))
+                          (metadata (completion-metadata "" table pred))
+                          (sort (or (completion-metadata-get metadata 
'display-sort-function)
+                                    #'identity))
+                          (cands (funcall sort (all-completions "" table 
pred))))
+                     (setq candidates (nconc candidates cands))
+                     (cl-loop for cand in cands do (puthash cand plist ht)))))
         (list beg end
               (lambda (str pred action)
                 (if (eq action 'metadata)



reply via email to

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