Mixing quicklisp and eval makes standard-output disappear
Please consider the following:
cl --eval '(dolist (stream-symbol (list :*standard-output* :*error-output*)) (format (symbol-value (find-symbol (symbol-name stream-symbol))) "Hello on ~a~%" stream-symbol))'
Hello on *STANDARD-OUTPUT*
Hello on *ERROR-OUTPUT*
If I enable quicklisp, I get
cl -Q --eval '(dolist (stream-symbol (list :*standard-output* :*error-output*)) (format (symbol-value (find-symbol (symbol-name stream-symbol))) "Hello on ~a~%" stream-symbol))'
Hello on *ERROR-OUTPUT*
This is related to the following excerpt from cl-launch.sh:
(defun load-sys (system)
(if (find-package :quicklisp)
(let ((*standard-output* (make-broadcast-stream)))
(symbol-call :quicklisp :quickload system))
(asdf:load-system system)))
I do not know what the proper fix is, though.