]> code.delx.au - gnu-emacs-elpa/blobdiff - packages/seq/seq-25.el
Update seq.el to version 2.14
[gnu-emacs-elpa] / packages / seq / seq-25.el
index 74153f317426a1b93dd9a7d46451e9553588d122..ecfea3b4e3347222fb0e4e5b32a1c57a3b1b0ed4 100644 (file)
@@ -218,6 +218,16 @@ The result is a sequence of the same type as SEQUENCE."
   (let ((result (seq-sort pred (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))
+
 (cl-defmethod seq-sort (pred (list list))
   (sort (seq-copy list) pred))