diff tests/automated/lisp-tests.el @ 5339:ba62563ec7c7

Accept more complex TYPEs in #'concatenate, cl-extra.el lisp/ChangeLog addition: 2011-01-15 Aidan Kehoe <kehoea@parhasard.net> * cl-extra.el (concatenate): Accept more complicated TYPEs in this function, handing the sequences over to #'coerce if we don't understand them here. * cl-macs.el (inline): Don't proclaim #'concatenate as inline, its compiler macro is more useful than doing that. tests/ChangeLog addition: 2011-01-15 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-tests.el (list): Test #'concatenate, especially with more complicated TYPEs, which were previously not accepted by the function.
author Aidan Kehoe <kehoea@parhasard.net>
date Sat, 15 Jan 2011 15:45:46 +0000
parents 287499ff4c5f
children b4ef3128160c a9094f28f9a9
line wrap: on
line diff
--- a/tests/automated/lisp-tests.el	Fri Jan 14 23:35:29 2011 +0000
+++ b/tests/automated/lisp-tests.el	Sat Jan 15 15:45:46 2011 +0000
@@ -2814,6 +2814,20 @@
   (Assert (eq gensym (find 'not-in-it string :default gensym)))
   (Assert (eq 'hi-there (find 'hi-there list)))
   ;; Different uninterned symbols with the same name.
-  (Assert (not (eq '#1=#:everyone (find '#1# list)))))
+  (Assert (not (eq '#1=#:everyone (find '#1# list))))
+
+  ;; Test concatenate.
+  (Assert (equal list (concatenate 'list vector)))
+  (Assert (equal list (concatenate 'list (subseq vector 0 4)
+				   (subseq list 4))))
+  (Assert (equal vector (concatenate 'vector list)))
+  (Assert (equal vector (concatenate `(vector * ,(length vector)) list)))
+  (Assert (equal string (concatenate `(vector character ,(length string))
+				     (append string nil))))
+  (Assert (equal bit-vector (concatenate 'bit-vector (subseq bit-vector 0 4)
+					 (append (subseq bit-vector 4) nil))))
+  (Assert (equal bit-vector (concatenate `(vector bit ,(length bit-vector))
+					 (subseq bit-vector 0 4)
+					 (append (subseq bit-vector 4) nil)))))
 
 ;;; end of lisp-tests.el