]> git.eshelyaron.com Git - emacs.git/commitdiff
Add `cl-constantly' function
authorLars Ingebrigtsen <larsi@gnus.org>
Thu, 2 Dec 2021 09:19:10 +0000 (10:19 +0100)
committerLars Ingebrigtsen <larsi@gnus.org>
Thu, 2 Dec 2021 09:19:10 +0000 (10:19 +0100)
* lisp/emacs-lisp/cl-lib.el (cl-constantly): Add Common Lisp
function missing (bug#21584).

lisp/emacs-lisp/cl-lib.el
test/lisp/emacs-lisp/cl-lib-tests.el

index 317a4c623094e26b369062b6502aec28246b8ae8..b01a32ca60c3d28d95ad2bbec1c03279c1cba380 100644 (file)
@@ -560,4 +560,9 @@ of record objects."
    (t
     (advice-remove 'type-of #'cl--old-struct-type-of))))
 
+(defun cl-constantly (value)
+  "Return a function that takes any number of arguments, but returns VALUE."
+  (lambda (&rest _)
+    value))
+
 ;;; cl-lib.el ends here
index 854e371b32f97d9f21a4b857c69b3cede8c9cc6f..a0facc81dbe0f1d56933a25608783f2b4be5c17c 100644 (file)
     (should cl-old-struct-compat-mode)
     (cl-old-struct-compat-mode (if saved 1 -1))))
 
+(ert-deftest cl-constantly ()
+  (should (equal (mapcar (cl-constantly 3) '(a b c d))
+                 '(3 3 3 3))))
+
+
 ;;; cl-lib-tests.el ends here