Avoid initarg nameclash in IN-MEMORY-STREAM class#26
Open
joaotavora wants to merge 1 commit intocl-babel:masterfrom
Open
Avoid initarg nameclash in IN-MEMORY-STREAM class#26joaotavora wants to merge 1 commit intocl-babel:masterfrom
joaotavora wants to merge 1 commit intocl-babel:masterfrom
Conversation
Some implementations of IN-MEMORY-OUTPUT-STREAM's ancestors, notably the Allegro-specific implementation of TRIVIAL-GRAY-STREAMS::FUNDAMENTAL-BINARY-OUTPUT-STREAM, don't expect Babel-specific objects in :EXTERNAL-FORMAT initarg. Unfortunately, this happened because the :EXTERNAL-FORMAT initarg was also used by IN-MEMORY-STREAM, another ancestor to IN-MEMORY-OUTPUT-STREAM. This fix ensures that the IN-MEMORY-STREAM class takes an initarg that doesn't easily clash with other takes on the meaning of :EXTERNAL-FORMAT. * src/streams.lisp (in-memory-stream): Change initarg sym from :EXTERNAL-FORMAT to BABEL::IN-MEMORY-EXTERNAL-FORMAT (make-in-memory-output-stream, make-in-memory-input-stream): Use BABEL::IN-MEMORY-EXTERNAL-FORMAT initarg. * tests/streams.lisp (make-in-memory-output-stream): New test.
Member
|
Maybe s/ |
Author
|
@luismbo you've gone full Emacs 😁 : isn't it even stranger to use prefixes in CL, which has packages? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Some implementations of IN-MEMORY-OUTPUT-STREAM's ancestors, notably
the Allegro-specific implementation of
TRIVIAL-GRAY-STREAMS::FUNDAMENTAL-BINARY-OUTPUT-STREAM, don't expect
Babel-specific objects in :EXTERNAL-FORMAT initarg.
Unfortunately, this happened because the :EXTERNAL-FORMAT initarg was
also used by IN-MEMORY-STREAM, another ancestor to
IN-MEMORY-OUTPUT-STREAM. This fix ensures that the IN-MEMORY-STREAM
class takes an initarg that doesn't easily clash with other takes on
the meaning of :EXTERNAL-FORMAT.