-
Notifications
You must be signed in to change notification settings - Fork 8.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Patch fix for #1360 until WriteStream (#780) can be implemented. #2924
Conversation
Same code snippet against conhost doesn't crash, so I don't believe there's anything to fix there right now. This makes sense since it should hit the OG |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For the record, I'm on board shipping this. I can't imagine blocking over something in test code, but I'll patiently wait for the test to sign off
…tat. Writes a bisecting character to the right most cell in the window.
Hello @zadjii-msft! Because this pull request has the p.s. you can customize the way I help with merging this pull request, such as holding this pull request until a specific person approves. Simply @mention me (
|
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
@@ -381,6 +381,18 @@ void Terminal::_WriteBuffer(const std::wstring_view& stringView) | |||
} | |||
} | |||
|
|||
// If we're about to try to place the cursor past the right edge of the buffer, move it down a row | |||
// This is another patch that GH#780 should supercede. This is really correcting for other bad situations |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
supersede*
🎉 Handy links: |
Summary of the Pull Request
Writing can enter an infinite loop with full-width characters being inserted into the last column of the buffer.
References
#780
PR Checklist
Detailed Description of the Pull Request / Additional comments
This is because the "WriteCharsLegacy2ElectricBoogaloo" implementation in the Terminal (
Terminal::_WriteBuffer
) is a hacky thing that we put together knowing full well that we'd have to do #780 but we had to get this working enough for now. Turns out, it's not super complete and fragile. Surprise.Validation Steps Performed