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

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

[elpa] externals/denote 1318e4175e 04/10: Tweak denote-sort-files for cl


From: ELPA Syncer
Subject: [elpa] externals/denote 1318e4175e 04/10: Tweak denote-sort-files for clarity
Date: Thu, 30 Nov 2023 00:57:46 -0500 (EST)

branch: externals/denote
commit 1318e4175efc0a3dc7c6c613a382f9a88c5f71e6
Author: Protesilaos Stavrou <info@protesilaos.com>
Commit: Protesilaos Stavrou <info@protesilaos.com>

    Tweak denote-sort-files for clarity
---
 denote-sort.el | 21 +++++++++------------
 1 file changed, 9 insertions(+), 12 deletions(-)

diff --git a/denote-sort.el b/denote-sort.el
index 5499d62f5f..d2a73862a1 100644
--- a/denote-sort.el
+++ b/denote-sort.el
@@ -67,23 +67,20 @@ two signature values." component)
 (defun denote-sort-files (files component &optional reverse)
   "Returned sorted list of Denote FILES.
 
-With optional COMPONENT as a keyword of `:signature', `:title',
-`:keywords', sort files based on the corresponding file name
-component.
+With COMPONENT as a symbol among `denote-sort-components',
+sort files based on the corresponding file name component.
 
-Without COMPONENT, do not sort: keep the original date-based
+With COMPONENT as a nil value keep the original date-based
 sorting which relies on the identifier of each file name.
 
 With optional REVERSE as a non-nil value, reverse the sort order."
   (let* ((files-to-sort (copy-sequence files))
-         (sorted-files (if component
-                           (sort files
-                                 (pcase component
-                                   (:title #'denote-sort-title-lessp)
-                                   (:keywords #'denote-sort-keywords-lessp)
-                                   (:signature #'denote-sort-signature-lessp)
-                                   (_ #'ignore)))
-                         files-to-sort)))
+         (sort-fn (when component
+                    (pcase component
+                     ('title #'denote-sort-title-lessp)
+                     ('keywords #'denote-sort-keywords-lessp)
+                     ('signature #'denote-sort-signature-lessp))))
+         (sorted-files (if sort-fn (sort files sort-fn) files-to-sort)))
     (if reverse
         (reverse sorted-files)
       sorted-files)))



reply via email to

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