This patch changes the implementation of subroutines in the syntax highlighter to use a run-time stack instead of "template instantiation". This removes the hard limit on the depth of the call graph and allows recursion. See the thread at https://sourceforge.net/forum/forum.php?thread_id=2459171&forum_id=74214 for details.
In addition to the changes described in that thread, I also pulled the parsing of transition options into its own function, and instead of duplicating most of the option parsing code within the [i]strings case, I called the parse_options function recursively and added an argument to indicate whether we are currently parsing a list of strings. Now you no longer have to scroll horizontally to read the [i]strings code. :-)
Let me know if you have any questions about any of the other changes.
Log in to post a comment.