* lisp/emacs-lisp/cl-seq.el (cl-sort):
Don't use string mutation when sorting the characters in a string.
This avoids O(n^2) run time and makes it future-safe.
(cherry picked from commit
38091e43bee991920db81263fe56da444a123fae)
\nKeywords supported: :key
\n(fn SEQ PREDICATE [KEYWORD VALUE]...)"
(if (nlistp cl-seq)
- (cl-replace cl-seq (apply 'cl-sort (append cl-seq nil) cl-pred cl-keys))
+ (if (stringp cl-seq)
+ (concat (apply #'cl-sort (vconcat cl-seq) cl-pred cl-keys))
+ (cl-replace cl-seq
+ (apply #'cl-sort (append cl-seq nil) cl-pred cl-keys)))
(cl--parsing-keywords (:key) ()
(if (memq cl-key '(nil identity))
(sort cl-seq cl-pred)