master: char/=: check all arguments for CHARACTER before returning NIL

stassats via Sbcl-commits <[email protected]>
Newsgroups gmane.lisp.steel-bank.cvs
Message-ID <[email protected]>
The branch "master" has been updated in SBCL:
       via  561ce4284b26ba669a3f44d4793b1669a53280e7 (commit)
      from  0ac261857941004337587426e99d81f70dd97ffe (commit)

- Log -----------------------------------------------------------------
commit 561ce4284b26ba669a3f44d4793b1669a53280e7
Author: Stas Boukarev <[email protected]>
Date:   Sat Apr 11 01:03:51 2026 +0300

    char/=: check all arguments for CHARACTER before returning NIL
---
 src/code/target-char.lisp | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/code/target-char.lisp b/src/code/target-char.lisp
index 5cc824531..d3ae2c87c 100644
--- a/src/code/target-char.lisp
+++ b/src/code/target-char.lisp
@@ -454,6 +454,9 @@ is either numeric or alphabetic."
                         ((>= i (length more-characters)) t)
                       (do-rest-arg ((c2) more-characters i)
                         (when ,test
+                          ;; Check the remaining characters before returning NIL
+                          (do-rest-arg ((n) more-characters (1+ i))
+                            (the character n))
                           (return-from ,name nil))))
                     ;; CHAR-NOT-EQUAL has explicit check attribute
                     (progn (the character character) t)))))

-----------------------------------------------------------------------


hooks/post-receive
-- 
SBCL
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.