From: Douglas K. <do...@go...> - 2014-04-10 02:45:07
|
actually I stand corrected - CMUCL silently gets these wrong but makes you think it gets them right, only in so far as eval'ing the hairy example once works, but printing that look isomorphic to a different form that it is not equivalent to. So only CLISP gets it right and maybe we should follow that model. On Wed, Apr 9, 2014 at 10:34 PM, Douglas Katzman <do...@go...> wrote: > This isn't quite a regression - it's yet another visible failure mode > instead of silent failure. > Rolling back to one change prior to mine, here is the output for your > example: > > '```(,',',plet/fast ,',kernel ,@body) ; input > ``,',',PLET/FAST ; output > > a slightly reduced example also drops its tail in the older code and > crashes in the newer code. > '```(,,body ,',',foo) ; input > ``,,BODY ; output > > I'll look into it. Btw CMUCL get these right, and CLISP gets these > examples right by a much simpler approach that backquoted forms retain > their abstract syntax tree as read. Maybe we should do the same. I don't > see why internalizing the expression and inverting it with extremely > obfuscated code is any better than just having the readmacro wrap the whole > form as read in a real macro, like (backquote (backquote (backquote (list > (comma ...))))) instead of having to reverse-engineer (backq-list* ...) > > > > On Wed, Apr 9, 2014 at 8:17 PM, Jan Moringen < > jmo...@te...> wrote: > >> Hi, >> >> I accidentally found a regression which can be triggered by: >> >> (princ '```(,',',plet/fast ,',kernel ,@body)) >> >> (This is reduced from a macro in an older lparallel version) >> >> I bisected it to: >> >> b0e67df8b369203e1cd0abe71a04f93285798695 is the first bad commit >> commit b0e67df8b369203e1cd0abe71a04f93285798695 >> Author: Douglas Katzman <do...@go...> >> Date: Fri Jan 31 22:41:36 2014 -0500 >> >> Fix pprinter bug reported by Didier Verna >> >> :040000 040000 25bc18fa3623ff2f4fb71c1e40d96db619bb2edf >> e558714f91659a4bb822d3c95f972670a6dd72e5 M src >> :040000 040000 2612a07268b1e7114dfa6ef30b4e885be07d6ae2 >> b0796e128785766932148c72c2b0d77e4921e540 M tests >> >> Kind regards, >> Jan >> >> >> >> ------------------------------------------------------------------------------ >> Put Bad Developers to Shame >> Dominate Development with Jenkins Continuous Integration >> Continuously Automate Build, Test & Deployment >> Start a new project now. Try Jenkins in the cloud. >> http://p.sf.net/sfu/13600_Cloudbees >> _______________________________________________ >> Sbcl-devel mailing list >> Sbc...@li... >> https://lists.sourceforge.net/lists/listinfo/sbcl-devel >> > > |