From ce1f10e76ca49257a8e051408cc36e8a8173f3a8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Mattias=20Engdeg=C3=A5rd?= Date: Sun, 15 Jun 2025 10:08:33 +0200 Subject: [PATCH] * src/fns.c (mapcar1): Less lax type checking Previously, mapcar etc would crash or return nonsense when passed a record. Found by Pip Cet. (cherry picked from commit 08a7477d2205f4f4a9c6bcc184fdea060c33474b) --- src/fns.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/fns.c b/src/fns.c index cdee4859616..a821d73b9e5 100644 --- a/src/fns.c +++ b/src/fns.c @@ -3411,9 +3411,8 @@ mapcar1 (EMACS_INT leni, Lisp_Object *vals, Lisp_Object fn, Lisp_Object seq) vals[i_before] = dummy; } } - else + else if (BOOL_VECTOR_P (seq)) { - eassert (BOOL_VECTOR_P (seq)); for (EMACS_INT i = 0; i < leni; i++) { Lisp_Object dummy = calln (fn, bool_vector_ref (seq, i)); @@ -3421,6 +3420,8 @@ mapcar1 (EMACS_INT leni, Lisp_Object *vals, Lisp_Object fn, Lisp_Object seq) vals[i] = dummy; } } + else + wrong_type_argument (Qsequencep, seq); return leni; } -- 2.39.5