Merge branch 'search-tag-fix' into 'develop'

cmp: fix search-tag false positives in debug info

See merge request embeddable-common-lisp/ecl!372
This commit is contained in:
bohonghuang 2026-05-07 14:49:27 +00:00
commit 77d29042e5

View file

@ -64,16 +64,11 @@ machine."
(defun search-tag (stream tag)
(declare (si::c-local))
(do* ((eof nil)
(key (concatenate 'list tag ":"))
(string key))
(nil)
(let ((c (read-byte stream nil nil)))
(cond ((null c) (return nil))
((not (= c (char-code (pop string))))
(setf string key))
((null string)
(return t))))))
(loop with key = (concatenate 'list '(#\Nul) tag '(#\:))
for string = key then (if (= c (char-code (car string)))
(or (cdr string) (return t))
(if (zerop c) string key))
for c = (or (read-byte stream nil nil) (return nil))))
(defun read-name (stream)
(declare (si::c-local))