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
Add support for the HPA escape sequence #3348
Comments
Yes, this distinction is due to BiDi. ECMA's BiDi was designed way before the Unicode BiDi Algorithm, with apparently hardly any experience or prior art in the topic. There's no known implementation of ECMA 48 and TR/53's BiDi support I could find being even mentioned. As I detail in my revamped BiDi proposal, ECMA suffers from quite a few problems, including that the idea of doing any operation on the presentational component is just fundamentally broken. So, using Similarly,
I guess we'll just have to accept that
In which submenu exactly? Let's note that the documentation you linked is obviously buggy, it says for
which is, like, what the heck? |
I was looking at those too (as well as VPB and VPR), but I didn't think they were exact synonyms for the CUx commands - I think there's a difference in the margin handling. I'll raise a separate issue for them once I have a better idea of how they're supposed to function (at least HPR and VPR - I don't really care about HPB and VPB).
Under Test non-VT100 there's a ISO-6429 cursor-movement section which includes the HPA test, and then there's also a VT520 section, which has a Cursor-movement subsection, which includes the HPA test.
Yeah I noticed that. There are a bunch of commands with that mistake - it's in the original PDF of the VT510 manual too. The mistake was fixed in the VT520/VT525 manual, but there's no HTML version of that, so it's not great for linking. |
Whoops, I was wrong about VTE: It does support
I'll double check VTE when you open that other issue with your margin handling findings (the Thanks! |
🎉This issue was addressed in #3368, which has now been successfully released as Handy links: |
Description of the new feature/enhancement
HPA
is an escape sequence for setting the horizontal cursor position.Technically there is a distinction between
HPA
, which sets the data position, andCHA
, which sets the presentation position (at least according to ECMA-048). However, I believe that only applies to bidirectional environments, and from what I've seen, it looks like most terminal emulators just treat them as synonyms.Since we already support
CHA
, this doesn't really provide us with any new functionality, but it is one of the sequences tested by Vttest, so it would be nice to support, and it should be trivial to add.Proposed technical implementation details (optional)
VTActionCodes
enum.OutputStateMachineEngine::ActionCsiDispatch
method to treat that new code as a synonym for the existingCHA_CursorHorizontalAbsolute
.If you care about tracking it as a separate telemetry entry, that would require a little more duplication of code, but it's still fairly trivial.
The text was updated successfully, but these errors were encountered: