From: Mattias EngdegÄrd Date: Fri, 11 Jul 2025 14:26:54 +0000 (+0200) Subject: * src/fns.c (Flength): Fix char table length off-by-one bug. X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=222d7ca28e8674507776f427ac30ddd6d28559db;p=emacs.git * src/fns.c (Flength): Fix char table length off-by-one bug. (cherry picked from commit 52b96d3a7e27e0cdc3f53041f2f18cbe2c095a86) --- diff --git a/src/fns.c b/src/fns.c index a821d73b9e5..599c0ec326c 100644 --- a/src/fns.c +++ b/src/fns.c @@ -147,7 +147,7 @@ efficient. */) else if (VECTORP (sequence)) val = ASIZE (sequence); else if (CHAR_TABLE_P (sequence)) - val = MAX_CHAR; + val = MAX_CHAR + 1; else if (BOOL_VECTOR_P (sequence)) val = bool_vector_size (sequence); else if (CLOSUREP (sequence) || RECORDP (sequence)) diff --git a/test/src/fns-tests.el b/test/src/fns-tests.el index 8e540d982dd..89ac3ef3ba9 100644 --- a/test/src/fns-tests.el +++ b/test/src/fns-tests.el @@ -52,7 +52,8 @@ (should (= (length '(1 2 3)) 3)) (should (= (length '[1 2 3]) 3)) (should (= (length "foo") 3)) - (should-error (length t))) + (should-error (length t)) + (should (= (length (make-char-table 'fns-tests)) (1+ (max-char))))) (ert-deftest fns-tests-safe-length () (should (= (safe-length '(1 2 3)) 3)))