From: Stas B. <sta...@gm...> - 2010-07-17 06:26:44
|
Gábor Melis <me...@re...> writes: > On Fri, Jul 16, 2010 at 1:36 PM, Stas Boukarev <sta...@gm...> wrote: >>>1.0.40.1: fix return value of WRITE >>> >>>Used to return NIL when the compiler macro for the constant keyword >>>argument case triggered. >> >> The patch to this https://bugs.launchpad.net/sbcl/+bug/598374 bug fixed >> this issue too. Can the rest of this patch be applied as well? >> >> It's sad that there's a duplication of efforts. > > Sorry for missing this bug report. > > So what's missing is the out-synonym-of part, right? > > What is this chunk of the diff supposed to accomplish? > > @@ -275,9 +277,10 @@ > (push variable ignore)) > (push (list variable value) bind))) > (if bind > - `(let ,(nreverse bind) > + `(let ((object ,object) > + ,@(nreverse bind)) > ,@(when ignore `((declare (ignore ,@ignore)))) > - (stringify-object ,object)) > + (stringify-object object)) > `(stringify-object ,object)))) > > (defun prin1-to-string (object) That's inside write-to-string compiler-macro, preventing variable clashing. -- With Best Regards, Stas. |