]> git.eshelyaron.com Git - emacs.git/commitdiff
Add new predicate list-of-strings-p
authorLars Ingebrigtsen <larsi@gnus.org>
Fri, 16 Sep 2022 10:29:54 +0000 (12:29 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Fri, 16 Sep 2022 10:29:54 +0000 (12:29 +0200)
* lisp/subr.el (list-of-strings-p): New function.

lisp/subr.el
test/lisp/subr-tests.el

index bfc2e207b2c1c09ab5e32c4e8c7763fa0cd9763b..e8e8f1584b4789bd72fdaa3cdb52097a5824ce7a 100644 (file)
@@ -4026,6 +4026,11 @@ system's shell."
 Otherwise, return nil."
   (or (stringp object) (null object)))
 
+(defun list-of-strings-p (object)
+  "Return t if OBJECT is nil or a list of strings."
+  (and (listp object)
+       (seq-every-p #'stringp object)))
+
 (defun booleanp (object)
   "Return t if OBJECT is one of the two canonical boolean values: t or nil.
 Otherwise, return nil."
index 30117132101a922ee0afc627ac62c043cff14205..38966cea585df3ed7f08a3c26d6b0c1d56aad6d4 100644 (file)
@@ -1158,5 +1158,12 @@ final or penultimate step during initialization."))
       (should (equal (butlast l n)
                      (subr-tests--butlast-ref l n))))))
 
+(ert-deftest test-list-of-strings-p ()
+  (should-not (list-of-strings-p 1))
+  (should (list-of-strings-p nil))
+  (should (list-of-strings-p '("a" "b")))
+  (should-not (list-of-strings-p ["a" "b"]))
+  (should-not (list-of-strings-p '("a" nil "b"))))
+
 (provide 'subr-tests)
 ;;; subr-tests.el ends here