When ever I use the (read) command the results show up one cycle late. Here is an example on a fresh call of sbcl:

* (loop (print (eval (read))))
'(1)

'(2)
(1)
'(3)
(2)