@(do (defmacro with-output-to-string ((var) . forms) '(let ((,var (make-string-output-stream))) (progn ,*forms (get-string-from-stream ,var)))) (let ((x (with-output-to-string (*stdout*) (format t "world!")))) (format *stdout* "Hello, ") (put-line x)))