--- infix.cl 1996-06-28 13:03:32.000000000 -0500 +++ infix.lisp 2005-04-09 22:57:03.786077368 -0500 @@ -294,20 +294,21 @@ (defun infix-reader (stream subchar arg) ;; Read either #I(...) or #I"..." (declare (ignore arg subchar)) - (let ((first-char (peek-char nil stream t nil t))) - (cond ((char= first-char #\space) - (read-char stream) ; skip over whitespace - (infix-reader stream nil nil)) - ((char= first-char #\") - ;; Read double-quote-delimited infix expressions. - (string->prefix (read stream t nil t))) - ((char= first-char #\() - (read-char stream) ; get rid of opening left parenthesis - (let ((*readtable* *infix-readtable*) - (*normal-readtable* *readtable*)) - (read-infix stream))) - (t - (infix-error "Infix expression starts with ~A" first-char))))) + (let ((*read-suppress* nil)) + (let ((first-char (peek-char nil stream t nil t))) + (cond ((char= first-char #\space) + (read-char stream) ; skip over whitespace + (infix-reader stream nil nil)) + ((char= first-char #\") + ;; Read double-quote-delimited infix expressions. + (string->prefix (read stream t nil t))) + ((char= first-char #\() + (read-char stream) ; get rid of opening left parenthesis + (let ((*readtable* *infix-readtable*) + (*normal-readtable* *readtable*)) + (read-infix stream))) + (t + (infix-error "Infix expression starts with ~A" first-char)))))) (set-dispatch-macro-character #\# #\I #'infix-reader *readtable*) ; was #\# #\$