Merged
Conversation
This is an ancient problem and I am taking another stab. The PR will not make the dynamic scope until after the parse has finished. This allows us to call and get proper arity dyn scope. Secondly, for evals the outer scope can grow and that logic only happens during finalization of parsing and also will get new proper arity in that case.
…ot just replace them
This reverts commit fd53a05. Beyond creating a single extra warn in a single test in JRuby I realized I need to specify evalParse so that I can create dynamic scope as part of parsing on simple evals (bindings is more difficult but also probably possible).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Top-level scopes for ordinary parses will no right-size dynscope vs always using manyvarsdynamicscope. This work also made me realize first time simple non-binding evals can do this as well (first time binding also but it is more complicated).