From 9ab85f087f7db38168dcf07d24f51ecd2c583f8a Mon Sep 17 00:00:00 2001 From: Noam Postavsky Date: Sun, 22 Mar 2020 07:48:14 -0400 Subject: [PATCH] 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. --- lisp/emacs-lisp/cl-extra.el | 2 +- test/lisp/emacs-lisp/cl-extra-tests.el | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) 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 -- 2.39.2