#54: pprint.lisp incompatible with gray-streams.lisp ------------------------+--------------------------------------------------- Reporter: ehuelsmann | Owner: somebody Type: defect | Status: new Priority: major | Milestone: Component: other | Version: Keywords: | ------------------------+--------------------------------------------------- pprint.lisp special-cases the XP-STRUCTURE argument type for the stream argument specified to all the stream functions.
Although SBCL uses largely the same approach, it uses a (slightly) different approach, which is important in the details. (Isn't that where the devil usually is?)
The difference between ABCL and SBCL is that SBCL - although it uses largely the same structure to store its pprinter values - this structure extends the structure which is used to represent streams. In ABCL, this structure is a structure by itself. To compensate for the fact that the structure isn't recognised as a stream itself, all stream functions special case the XP-STRUCTURE argument handling.
Proposed solution: make streams based on dispatch tables stored in structures, just as SBCL does. This way, most of our streams "stuff" can be implemented in Lisp, instead of Java. As a bonus, this issue can be resolved along the same lines as SBCL does.
#54: pprint.lisp incompatible with gray-streams.lisp -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: somebody Type: defect | Status: new Priority: major | Milestone: Component: other | Version: Resolution: | Keywords: -------------------------+--------------------------------------------------
Comment(by ehuelsmann):
Forgot to mention: the above means that the pretty stream is being recognised as a stream in SBCL while it's not in ABCL.
#54: pprint.lisp incompatible with gray-streams.lisp -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: somebody Type: defect | Status: closed Priority: major | Milestone: Component: other | Version: Resolution: fixed | Keywords: -------------------------+-------------------------------------------------- Changes (by ehuelsmann):
* status: new => closed * resolution: => fixed
Comment:
This incompatibility has been resolved and is published in 0.17
armedbear-ticket@common-lisp.net