fix(terminal/stream): correct invalid assertion #1590
Merged
+20
−12
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.
The problem?
Current scalar stream handling logic doesn't really have a consistent expectation for how to handle
0x1B
in the middle of a utf-8 code sequence.The fix?
Removed assertion in
nextUtf8
that expected it to never receive0x1B
, instead added logic so that if the utf-8 decoder ever emits0x1B
as a codepoint (e.g. when a code sequence is illegally terminated with it) it's sent to the parser to put it in the right modeNotes
0x1B
from the utf-8 decoder to the parser, this was just a quick fix.