Skip to content
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

mlterm bleedthrough of \eP0+r #2544

Closed
dankamongmen opened this issue Jan 10, 2022 · 8 comments
Closed

mlterm bleedthrough of \eP0+r #2544

dankamongmen opened this issue Jan 10, 2022 · 8 comments
Assignees
Labels
bug Something isn't working input readin' dem bytes
Milestone

Comments

@dankamongmen
Copy link
Owner

Run notcurses-input in mlterm. We see "input" of \eP0+r\. We don't see this in notcurses-info, so it's presumably a response to some query of ours.

@dankamongmen dankamongmen added the bug Something isn't working label Jan 10, 2022
@dankamongmen dankamongmen added this to the 3.1.0 milestone Jan 10, 2022
@dankamongmen dankamongmen self-assigned this Jan 10, 2022
@dankamongmen
Copy link
Owner Author

this would be a "device control string" ESC P: Device Control String ( DCS is 0x90)

@dankamongmen dankamongmen added the input readin' dem bytes label Jan 10, 2022
@dankamongmen
Copy link
Owner Author

wait, it looks like we already ought be recognizing this as a negative XTGETTCAP?

    { "P0+r\\S", NULL, },    // negative XTGETTCAP  

@dankamongmen
Copy link
Owner Author

process_melange:2227:input 19 (0)/4076 [0x1b] ( )
process_escape:2056:initialized automaton to 1
process_escape:2068:walk result on 80 (P): 0 386
process_escape:2068:walk result on 48 (0): 0 393
process_escape:2068:walk result on 43 (+): 0 394
process_escape:2068:walk result on 114 (r): 0 395
process_escape:2056:initialized automaton to 1
process_melange:2227:input 20 (1)/4075 [0x50] (P)
process_melange:2227:input 21 (1)/4074 [0x30] (0)
process_melange:2227:input 22 (1)/4073 [0x2b] (+)
process_melange:2227:input 23 (1)/4072 [0x72] (r)
process_melange:2227:input 24 (1)/4071 [0x1b] ( )
process_escape:2068:walk result on 92 (\): 1 0
process_melange:2227:input 26 (0)/4069 [0x1b] ( )
process_escape:2056:initialized automaton to 1

@dankamongmen
Copy link
Owner Author

DCS 0 + r Pt ST for invalid requests. The strings are encoded in hexadecimal (2 digits per character).

it looks like mlterm simply isn't terminating with a ST?

@dankamongmen
Copy link
Owner Author

so we either strengthen our automaton so that we can list both signatures, or we get mlterm fixed upstream...

@dankamongmen
Copy link
Owner Author

[schwarzgerat](127) $ echo -e '\eP+q5443\e\\'

[schwarzgerat](0) $ :0+r^[\

@dankamongmen
Copy link
Owner Author

hrmm at least current mlterm does seem to be writing it correctly, then?

vt_write_to_pty(vt_parser->pty, "\x1bP0+r\x1b\\", 7);

@dankamongmen
Copy link
Owner Author

if i reduce the automaton match to P0+\\S from P0+r\\S, it works here. i think i'll take that with a smile.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working input readin' dem bytes
Projects
None yet
Development

No branches or pull requests

1 participant