Managed to at least resolve my own problem, but I think there still might be some bugs in the syntax parser that were not present in previous builds.
Basically, I set my function parameter matcher to stop trying to match at a close parenthesis rather than end of line. Interestingly, it would consistently hang at the 161st function declared in the file. I'm not sure what's magical about that number (it's not a power of two, for instance), but that definitely proved to be the border.
Thanks to FichteFoll for being an excellent sounding board and pointing me in the right direction!
Also... it appears to work fine until it's being run over a file with more than 160 functions in it. Without fail, it will hang the moment the last parenthesis is typed on the declaration of the 161st function. Hmmmm.
Thanks for the help -- through a painstaking commenting/uncommenting, I've narrowed it down to this portion towards the bottom of the file:
If I comment out the part where I include $self, everything works fine. So I guess the question is, is there a better way to pass function parameters through syntax processing? I'm guessing this enters some kind of infinite loop, but this wasn't the case in earlier builds.
Customer support service by UserEcho