-
-
Notifications
You must be signed in to change notification settings - Fork 173
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # 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: