Opened 15 years ago
Closed 15 years ago
#54 closed defect (fixed)
pprint.lisp incompatible with gray-streams.lisp
Reported by: | ehuelsmann | Owned by: | somebody |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | other | Version: | |
Keywords: | Cc: | ||
Parent Tickets: |
Description
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.
Change History (2)
comment:1 Changed 15 years ago by
comment:2 Changed 15 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
This incompatibility has been resolved and is published in 0.17
Forgot to mention: the above means that the pretty stream is being recognised as a stream in SBCL while it's not in ABCL.