emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] master c13a4df: Remove the calls to `seq-into` from `seq-c


From: Nicolas Petton
Subject: [Emacs-diffs] master c13a4df: Remove the calls to `seq-into` from `seq-concatenate`
Date: Sun, 23 Aug 2015 19:14:13 +0000

branch: master
commit c13a4df51ca2b82c03ef13bca1151f727cfc64f6
Author: Nicolas Petton <address@hidden>
Commit: Nicolas Petton <address@hidden>

    Remove the calls to `seq-into` from `seq-concatenate`
    
    Since most new types of seq would have to be defined as sequences (cons
    cells or CL structs, mostly), there is no need to convert the seqs to
    sequences (which can be a fairly expensive operation).
    
    * lisp/emacs-lisp/seq.el (seq-concatenate): Do not ensure that seqs are
    sequences.
---
 lisp/emacs-lisp/seq.el |   17 +++++------------
 1 files changed, 5 insertions(+), 12 deletions(-)

diff --git a/lisp/emacs-lisp/seq.el b/lisp/emacs-lisp/seq.el
index f9e0e9c..5ce4d91 100644
--- a/lisp/emacs-lisp/seq.el
+++ b/lisp/emacs-lisp/seq.el
@@ -200,18 +200,11 @@ The result is a sequence of the same type as SEQ."
 TYPE must be one of following symbols: vector, string or list.
 
 \n(fn TYPE SEQUENCE...)"
-  ;; Since new seq types might be defined, we need to make sure that
-  ;; all seqs are actual sequences.
-  (let ((sequences (seq-map (lambda (s)
-                              (if (sequencep s)
-                                  s
-                                (seq-into s 'list)))
-                            seqs)))
-    (pcase type
-      (`vector (apply #'vconcat sequences))
-      (`string (apply #'concat sequences))
-      (`list (apply #'append (append sequences '(nil))))
-      (_ (error "Not a sequence type name: %S" type)))))
+  (pcase type
+    (`vector (apply #'vconcat seqs))
+    (`string (apply #'concat seqs))
+    (`list (apply #'append (append seqs '(nil))))
+    (_ (error "Not a sequence type name: %S" type))))
 
 (cl-defgeneric seq-into (seq type)
   "Convert the sequence SEQ into a sequence of type TYPE.



reply via email to

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