Okay, this one is quite strange. First define this function:
(defun foo () (write (macroexpand-1 '(with-open-file (in "foo.txt") (read in))) :pretty t))
Then invoke it several times. What I observe is that the body of the let moves to the right each time I invoke FOO, as if the pretty-printing stream is somehow preserving some information about what column it is indenting to from call to call. I believe I had observed this behavior before when I was screwing around with pretty-printing logical blocks. This weird shifting only happens in the SLIME repl, the same function invoked from the *inferior-lisp* buffer works as expected. I've observed this in both OpenMCL and in Allegro on GNU/Linux.
-Peter