Don't "unset" open
and require
after the init context
#3645
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.
What?
Stop unsetting
open
andrequire
after init context just do redo some of the work.This still prevents them being used outside of the init context.
Why?
This was done to prevent them to be used outside of the init context, except that this wasn't enough as you can save them to another variable.
More fixes have been added on top - but in reality there is no need to unset them.
If anything this makes it harder for users to figure out what happens as in the case of
require
it will tell you that you can't callundefined
.For
open
this was handled by setting it to a function that just reports it can't be used outside the init context. But this is already the case if it isn't unset and then reset to this function.So this change makes the whole thing more consistent and doesn't do a bunch of additional and unnecessary operations.
Checklist
make lint
) and all checks pass.make tests
) and all tests pass.Related PR(s)/Issue(s)