Mercurial > hg > xemacs-beta
diff lisp/cl-extra.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 | f6471e4ae703 |
children | 38e24b8be4ea a9094f28f9a9 |
line wrap: on
line diff
--- a/lisp/cl-extra.el Fri Jan 14 23:35:29 2011 +0000 +++ b/lisp/cl-extra.el Sat Jan 15 15:45:46 2011 +0000 @@ -421,9 +421,9 @@ (case type (vector (apply 'vconcat seqs)) (string (apply 'concat seqs)) - (list (apply 'append (append seqs '(nil)))) + (list (reduce 'append seqs :from-end t :initial-value nil)) (bit-vector (apply 'bvconcat seqs)) - (t (error 'invalid-argument "Not a sequence type name" type)))) + (t (coerce (reduce 'append seqs :from-end t :initial-value nil) type)))) ;;; List functions.