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 issue with minified drop semicolon output #19

Merged
merged 4 commits into from
Aug 11, 2018

Conversation

metatoaster
Copy link
Member

This was a dumb accounting mistake with merging/combining of layout chunk rules on matched layouts, as previously two different lists were used for the tracking and a single offset generated from one was applied to both, however the accounting list will go out of sync (in length, thus offset) with the actual one that stores the rules to be applied, thus this will result in layouts chunks being dropped thus certain mismatched output will simply occur.

This set of changes provide a corrected accounting method to make use of just the actual complete layout rule chunk accounting stack, and provide an additional test to ensure that the produced output can still be parsed again.

- A backup check to ensure that the minified code done in this manner
  remain valid.
- As it turns out, junking meant that the length offsets are no longer
  matched up, so that the wrong offset was used during the dropping of
  actual layout chunk rules, which can result in too many rule chunks
  dropped when multiple drops are effected within the same run.
- Show how this can happen with a real unparser and a simulated
  example convert a typical interspersed output to drop the rules of
  the inner node.
- Since the actual tuple can simply be generated anyway through the
  layout rule chunks stack that is being produced.
- Also avoids that bug fixed previously as duplicate data structures
  is simply dumb.
@metatoaster metatoaster merged commit 8df4ce4 into calmjs:master Aug 11, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant