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

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

[nongnu] elpa/tablist c78eccd 24/60: Turn macro into a function


From: Philip Kaludercic
Subject: [nongnu] elpa/tablist c78eccd 24/60: Turn macro into a function
Date: Sun, 1 Aug 2021 18:19:28 -0400 (EDT)

branch: elpa/tablist
commit c78eccdc68dc858b0d33987735622a7c1c1b63a4
Author: Andreas Politz <politza@hochschule-trier.de>
Commit: Andreas Politz <politza@hochschule-trier.de>

    Turn macro into a function
    
    * lisp/tablist.el (tablist-generate-sorter): This should be a function.
---
 tablist.el | 20 +++++++-------------
 1 file changed, 7 insertions(+), 13 deletions(-)

diff --git a/tablist.el b/tablist.el
index 5e56926..567d69e 100644
--- a/tablist.el
+++ b/tablist.el
@@ -1926,7 +1926,7 @@ AWINDOW is deleted."
     (tablist-window-attach newwin window)
     newwin))
 
-(defmacro tablist-generate-sorter (column compare-fn &optional read-fn)
+(defun tablist-generate-sorter (column compare-fn &optional read-fn)
   "Generate a sort function for `tabulated-list' entries.
 
 Example:
@@ -1936,18 +1936,12 @@ Example:
 would create a sort function sorting `tabulated-list-entries' on
 the 0-th column as numbers by the less-than relation."
 
-  (let ((column-sym (make-symbol "column"))
-        (compare-fn-sym (make-symbol "compare-fn"))
-        (read-fn-sym (make-symbol "read-fn")))
-    `(let ((,column-sym ,column)
-           (,compare-fn-sym ,compare-fn)
-           (,read-fn-sym (or ,read-fn 'identity)))
-       (lambda (e1 e2)
-         (funcall ,compare-fn-sym
-                  (funcall ,read-fn-sym
-                           (aref (cadr e1) ,column-sym))
-                  (funcall ,read-fn-sym
-                           (aref (cadr e2) ,column-sym)))))))
+  (lambda (e1 e2)
+    (funcall compare-fn
+             (funcall (or read-fn 'identity)
+                      (aref (cadr e1) column))
+             (funcall read-fn
+                      (aref (cadr e2) column)))))
 
 (provide 'tablist)
 ;;; tablist.el ends here



reply via email to

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