X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=inline;f=tests%2Fprint.impure.lisp;h=c773e76e17453c4de959bf8b59ddb7b108eefe28;hb=eca61f35572d371982ebb601d0edefe5c9a942ae;hp=37e59369a6d31e70d642fb2be3ce1a0bd094e391;hpb=a7f04616aa9d77ba780a2a6cf6c78b250b1d4a07;p=sbcl.git diff --git a/tests/print.impure.lisp b/tests/print.impure.lisp index 37e5936..c773e76 100644 --- a/tests/print.impure.lisp +++ b/tests/print.impure.lisp @@ -483,4 +483,22 @@ (assert (= 123 (funcall (compile nil (lambda () (write 123))))))) +(with-test (:name :write/write-to-string-compiler-macro-lp/598374+581564) + (let ((test (compile nil + `(lambda (object &optional output-stream) + (write object + :stream output-stream))))) + (assert (equal "(HELLO WORLD)" + (with-output-to-string (*standard-output*) + (let ((list '(hello world))) + (assert (eq list (funcall test list))))))) + (assert (equal "12" + (with-output-to-string (*standard-output*) + (assert (eql 12 (funcall test 12))))))) + (let ((test (compile nil + `(lambda () + (let ((*print-length* 42)) + (write-to-string *print-length* :length nil)))))) + (assert (equal "42" (funcall test))))) + ;;; success