From: Hoehle, Joerg-C. <Joe...@t-...> - 2006-04-25 14:32:38
|
Tobias C. Rittweiler wrote: >> Looking at the code, it looks like CLISP implements sort of CLtL2 >> behaviour: "If no type specifiers match the object, a function is >> returned that prints object with *print-pretty* bound to nil." >Could you provide a more specific reference into CLtL2 where this >sentence stems from, please? CLtL2 on pprint-dispatch: http://www.supelec.fr/docs/cltl/clm/node259.html -- Thanks to SUPELEC for still hosting CLtL2 online. >> CLHS says something opposite to CLtL2: >"The value >> of *print-pretty* is still true when this function is called, and >> individual methods for print-object might still elect to produce >> output in a special format conditional on the value of >> *print-pretty*.". >What's the exact references? http://www.lisp.org/HyperSpec/Body/sec_22-2-1-4.html See also the UNIFY writeup issue which mentions the move from NIL to T. http://www.lisp.org/HyperSpec/Issues/iss180-writeup.html >Yup. In fact, I could make clisp segfault [...] >I couldn't reproduce the segfault when using a clisp freshly compiled The difference should be libsigsegv. Is it missing from your original build? Regards, Jorg Hohle. |
From: Tobias C. R. <tc...@fr...> - 2006-04-25 15:31:34
|
"Hoehle, Joerg-Cyril" <Joe...@t-...> writes: > > > CLHS says something opposite to CLtL2: "The value of > > > *print-pretty* is still true when this function is called, and > > > individual methods for print-object might still elect to produce > > > output in a special format conditional on the value of > > > *print-pretty*.". > > > > What's the exact references? > > http://www.lisp.org/HyperSpec/Body/sec_22-2-1-4.html > See also the UNIFY writeup issue which mentions the move from NIL to T. > http://www.lisp.org/HyperSpec/Issues/iss180-writeup.html So, yes, this means that in the print-object method for lists, *PRETTY-PRINT* must be preserved to be T and so it is in a furher call to the print-object for symbols as described in the algorithm of 22.1.3.5. So I'm just more convinced that my original expecation was justified. > >Yup. In fact, I could make clisp segfault [...] I couldn't reproduce > >the segfault when using a clisp freshly compiled > > The difference should be libsigsegv. Is it missing from your original > build? No, in fact, the segfault occured somewhere in the chain into libsigsegv, I think on the recovering side. I can't work this out currently, as it seems I'm having trouble again with my RAM (firefox regularly blows up.) -T. |