]> code.delx.au - gnu-emacs-elpa/blobdiff - packages/seq/seq-24.el
Update seq.el to version 2.14
[gnu-emacs-elpa] / packages / seq / seq-24.el
index f34fd11897c80e3b07c9810d2c2b79771fc4f573..fc1d9567bc359d8158ceb7472aa2bdc776ea6fe5 100644 (file)
@@ -202,6 +202,16 @@ The result is a sequence of the same type as SEQUENCE."
     (let ((result (seq-sort predicate (append sequence nil))))
       (seq-into result (type-of sequence)))))
 
+(defun seq-sort-by (function pred sequence)
+  "Sort SEQUENCE using PRED as a comparison function.
+Elements of SEQUENCE are transformed by FUNCTION before being
+sorted.  FUNCTION must be a function of one argument."
+  (seq-sort (lambda (a b)
+              (funcall pred
+                       (funcall function a)
+                       (funcall function b)))
+            sequence))
+
 (defun seq-contains (sequence elt &optional testfn)
   "Return the first element in SEQUENCE that equals to ELT.
 Equality is defined by TESTFN if non-nil or by `equal' if nil."