Feature summary (what you would like to be able to do and where):
The current limit for the C stack in Scribunto seems to be just under 200, which is surprisingly small when compared to the general Lua stack limit of 16,384. It would be helpful to increase the limit.
Use case(s) (list the steps that you performed to discover that problem, and describe the actual underlying problem which you want to solve. Do not describe only a solution):
Since it's not possible to do proper tail recursion with C functions in Lua, the low limit makes it impossible to do any kind of deep recursion involving pcall or xpcall. This resulted in me having to do a major redesign of a Lua wikitext parser that I've been writing, where I was using xpcall in a try-except construct to quickly loop back while doing template/argument parsing, since sets of opening braces are often ambiguous until the following wikitext has been parsed (e.g. "{{{{{" - 5 braces - could mean several different things, depending on what follows).
Benefits (why should this be implemented?):
The alternative has been to propagate the result down the stack via return instead, which is much more fragile (as it's prone to mistakes by me if I miss a link in the chain), and it also seems to be more resource intensive. Although the C stack limit of 200 is not a problem most of the time, it began to cause problems when I tried parsing templates such as this one, which is given as an example of a complex template in the Parsoid preprocessor tests, as it includes parser functions nested to a depth of over 100.
Here is the last version of my wikitext parser which used xpcall, before I remodelled things, so that you can get an idea of the use case. It's still very much in a working state, and has been designed to be as fast as possible (as it may need to be called many hundreds of times on the same page).