Jsem si téměř jistý, že byste toto číslo mohli zvýšit (8000 ) změnou LUAI_MAXCSTACK hodnotu v luaconf.h vašeho prostředí a přebudování (prostředí Lua).
Výchozí je, jak jste si již všimli:
/*
@@ LUAI_MAXCSTACK limits the number of Lua stack slots that a C function
@* can use.
** CHANGE it if you need lots of (Lua) stack space for your C
** functions. This limit is arbitrary; its only purpose is to stop C
** functions to consume unlimited stack space. (must be smaller than
** -LUA_REGISTRYINDEX)
*/
#define LUAI_MAXCSTACK 8000
Jen to vypadá trochu jako pornografie.
A co použití tabulky a iterace pomocí table.concat() kousky <=8000 klíče?