summaryrefslogtreecommitdiff
path: root/lisp/sort.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/sort.el')
-rw-r--r--lisp/sort.el21
1 files changed, 0 insertions, 21 deletions
diff --git a/lisp/sort.el b/lisp/sort.el
index 4f0d759ef8a..2ee76b6e1e3 100644
--- a/lisp/sort.el
+++ b/lisp/sort.el
@@ -478,27 +478,6 @@ sRegexp specifying key within record: \nr")
;; if there was no such register
(error (throw 'key nil))))))))))
-;;;###autoload
-(defun sort-on (sequence predicate accessor)
- "Sort SEQUENCE by calling PREDICATE on sort keys produced by ACCESSOR.
-SEQUENCE should be the input sequence to sort.
-Elements of SEQUENCE are sorted by keys which are obtained by
-calling ACCESSOR on each element. ACCESSOR should be a function of
-one argument, an element of SEQUENCE, and should return the key
-value to be compared by PREDICATE for sorting the element.
-PREDICATE is the function for comparing keys; it is called with two
-arguments, the keys to compare, and should return non-nil if the
-first key should sort before the second key.
-The return value is always a new list.
-This function has the performance advantage of evaluating
-ACCESSOR only once for each element in the input SEQUENCE, and is
-therefore appropriate when computing the key by ACCESSOR is an
-expensive operation. This is known as the \"decorate-sort-undecorate\"
-paradigm, or the Schwartzian transform."
- (mapcar #'car
- (sort (mapcar #'(lambda (x) (cons x (funcall accessor x))) sequence)
- #'(lambda (x y) (funcall predicate (cdr x) (cdr y))))))
-
(defvar sort-columns-subprocess t)