-
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
Preprocess and convert C1 controls to their 7 bit equivalent #7317
Comments
Surely the other way around is better? Technically, per ECMA-48, it's those actual C1 characters that delimit command strings and control strings, and that begin control sequences. |
Semantically does it make any difference? The only reason I was suggesting converting from the C1 controls to the 7-bit escapes was because I thought that would be easier to handle the way our parser is setup.
That may be so, but in practice most people are using UTF-8 nowdays, so those C1 controls don't really gain you anything and are very rarely supported (at least in my experience). |
If I'm not mistaken, converting |
You're looking to the next character anyway, otherwise you simply aren't doing escape sequences right. And of course converting to the C1 characters means that scanning for (say) ST at the end of a command string or control string is just a single character test. |
Well that’s not wrong but we are somewhat stuck with the current implementation that’s prioritizing 7bit instead of 8bit. And you can check out my PR #7340 if you’re interested. |
C1 control characters are now first converted to their 7 bit equivalent. This allows us to unify the logic of C1 and C0 escape handling. This also adds support for SOS/PM/APC string. * Unify the logic for C1 and C0 escape handling by converting C1 to C0 beforehand. This adds support for various C1 characters, including IND(8/4), NEL(8/5), HTS(8/8), RI(8/13), SS2(8/14), SS3(8/15), OSC(9/13), etc. * Add support for SOS/PM/APC escape sequences. Fixes #7032 * Use "Variable Length String" logic to unify the string termination handling of OSC, DCS and SOS/PM/APC. This fixes an issue where OSC action is successfully dispatched even when terminated with non-ST character. Introduced by #6328, the DCS PassThrough is spared from this issue. This PR puts them together and add test cases for them. References: https://vt100.net/docs/vt510-rm/chapter4.html https://vt100.net/emu/dec_ansi_parser Closes #7032 Closes #7317
🎉This issue was addressed in #7340, which has now been successfully released as Handy links: |
Description of the new feature/enhancement
This is from a discussion in #6328:
The text was updated successfully, but these errors were encountered: