From: Noam Postavsky Date: Sun, 22 Mar 2020 11:48:14 +0000 (-0400) Subject: Fix cl-concatenate (Bug#40180) X-Git-Tag: emacs-27.0.91~64 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=9ab85f087f;p=emacs.git Fix cl-concatenate (Bug#40180) * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Use apply, to avoid adding extra nesting of args. * test/lisp/emacs-lisp/cl-extra-tests.el (cl-concatenate): New test. --- diff --git a/lisp/emacs-lisp/cl-extra.el b/lisp/emacs-lisp/cl-extra.el index e9bfe8df5f2..ce6fb625bc0 100644 --- a/lisp/emacs-lisp/cl-extra.el +++ b/lisp/emacs-lisp/cl-extra.el @@ -556,7 +556,7 @@ too large if positive or too small if negative)." (defun cl-concatenate (type &rest sequences) "Concatenate, into a sequence of type TYPE, the argument SEQUENCEs. \n(fn TYPE SEQUENCE...)" - (seq-concatenate type sequences)) + (apply #'seq-concatenate type sequences)) ;;; List functions. diff --git a/test/lisp/emacs-lisp/cl-extra-tests.el b/test/lisp/emacs-lisp/cl-extra-tests.el index 2d20ba75d29..7546c149377 100644 --- a/test/lisp/emacs-lisp/cl-extra-tests.el +++ b/test/lisp/emacs-lisp/cl-extra-tests.el @@ -99,4 +99,12 @@ ;; Test for Bug#33731. (should-not (eq s (cl-make-random-state s))))) +(ert-deftest cl-concatenate () + (should (equal (cl-concatenate 'list '(1 2 3) '(4 5 6)) + '(1 2 3 4 5 6))) + (should (equal (cl-concatenate 'vector [1 2 3] [4 5 6]) + [1 2 3 4 5 6])) + (should (equal (cl-concatenate 'string "123" "456") + "123456"))) + ;;; cl-extra-tests.el ends here