parser.lisp
(defun is-whitespace (c) (or (eq c #\Space) (eq c #\Tab) (eq c #\Return)))
(defun is-comment-char (c) (or (eq c #;) (eq c ##)))
eq should be changed into char=, since "Common Lisp makes no guarantee that eq is true even when both its arguments are ``the same thing'' if that thing is a character or number."
Best regards, S. Kondratyev.