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

fix edge cases in inputhandler methods #2288

Merged
merged 38 commits into from Jul 11, 2019

Conversation

jerch
Copy link
Member

@jerch jerch commented Jul 4, 2019

This PR addresses edge case handling for InputHandler methods. Currently many methods are still slightly off compared to xterm's behavior.

This PR shall enable passing most of the escape sequence files. Shall also fix #1434 and fix #2020. Shall give xterm.js much better results in vttest.

Things to rework:

@jerch jerch added the work-in-progress Do not merge label Jul 4, 2019
@jerch jerch self-assigned this Jul 4, 2019
@jerch jerch changed the title fix edgecases in inputhandler methods fix edge cases in inputhandler methods Jul 4, 2019
@Tyriar Tyriar added this to the 4.0.0 milestone Jul 8, 2019
@jerch
Copy link
Member Author

jerch commented Jul 8, 2019

Gonna stop on this PR as it is already quite big.

Remaining issues:

  • DECSTBM: We have margin handling issues in InputHandler.print, InputHandler.lineFeed and Terminal.scroll. Any changes to those are more involved, thus should be addressed in separate PRs. --> DECSTBM has margin issues #2306
  • CBT: Only found one issue with it - cursor restrictions are not applied correctly after RI + IND. This particular issue is not fixable before dealing with the margin/wrap issues seen in DECSTBM. All other conditions seem to work correctly. --> DECSTBM has margin issues #2306
  • DECOM: We did not respect origin mode at all, this PR does and passes vttest in this regard. Still the edgecases are not worked out yet. To be done with a separate PR.
  • cursor handling: As pointed out by Create Cursor class #2290, we should unify the cursor stuff into better maintainable code. --> DECOM tests #2307
  • ancient features: We have some limited support of ancient features in InputHandler that either make not much sense or even can mess with the integrators' embedding page (like DECCOLM). We should review those parts and prolly remove it from the core codebase (maybe it could live in a compat addon later on). --> eval usefulness of compat addon #2308

Up for review.

@jerch jerch removed the work-in-progress Do not merge label Jul 8, 2019
fixtures/escape_sequence_files/run_tests.py Show resolved Hide resolved
src/Terminal.test.ts Show resolved Hide resolved
src/InputHandler.ts Show resolved Hide resolved
src/InputHandler.ts Outdated Show resolved Hide resolved
src/InputHandler.ts Outdated Show resolved Hide resolved
src/Terminal2.test.ts Outdated Show resolved Hide resolved
src/Terminal2.test.ts Outdated Show resolved Hide resolved
src/Terminal2.test.ts Outdated Show resolved Hide resolved
src/Terminal2.test.ts Outdated Show resolved Hide resolved
src/InputHandler.ts Show resolved Hide resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants