X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fgray-streams.lisp;h=38eb79ea664821b26d8da5bd6c6d3f7669f80833;hb=5193965ff7688f7d748962405343ed666bf616b2;hp=7498eea0417a1923ed5deb02277f508d92f01396;hpb=520a9274ee6db138ecb8e056f3c524afac1d0c88;p=sbcl.git diff --git a/src/pcl/gray-streams.lisp b/src/pcl/gray-streams.lisp index 7498eea..38eb79e 100644 --- a/src/pcl/gray-streams.lisp +++ b/src/pcl/gray-streams.lisp @@ -88,7 +88,13 @@ (setf (stream-open-p stream) nil) t) -(setf (fdefinition 'close) #'pcl-close) +(progn + ;; KLUDGE: Get in a call to PCL-CLOSE with a string-output-stream before + ;; setting it as CLOSE. Otherwise using NAMED-LAMBDAs as DFUNs causes a + ;; vicious metacircle from FORMAT NIL somewhere in the compiler. This is + ;; enough to get the dispatch settled down before we need it. + (pcl-close (make-string-output-stream)) + (setf (fdefinition 'close) #'pcl-close)) (let () (fmakunbound 'input-stream-p)