-
-
Notifications
You must be signed in to change notification settings - Fork 171
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
Expanding recurse EQUS "recurse"
or recurse EQUS "\{recurse\}"
hangs rgbasm
#696
Comments
A more visible example: this stops after the recursion limit due to the newline at the end of
But this recurses infinitely:
|
recurse EQUS "recurse"
hangs rgbasmrecurse EQUS "recurse"
or recurse EQUS "\{recurse\}"
hangs rgbasm
This problem exists with interpolation as well as I don't think it can happen with macro args (the third kind of expansion) because they can't be recursive. |
#829 has some comments regarding a possible fix, if expansions stay unfreed even at the moment they're left, i.e. when |
Do not free an expansion until its offset is *past* its size. This means potentially freeing a nested stack of expansions all at once. Fixes gbdev#696
Do not free an expansion until its offset is *past* its size. This means potentially freeing a nested stack of expansions all at once. Fixes gbdev#696
Do not free an expansion until its offset is *past* its size. This means potentially freeing a nested stack of expansions all at once. Fixes gbdev#696
Do not free an expansion until its offset is *past* its size. This means potentially freeing a nested stack of expansions all at once. Fixes gbdev#696
Do not free an expansion until its offset is *past* its size. This means potentially freeing a nested stack of expansions all at once. Fixes gbdev#696
Do not free an expansion until its offset is *past* its size. This means potentially freeing a nested stack of expansions all at once. Fixes #696
This was noted in #557:
The text was updated successfully, but these errors were encountered: