Sono quasi sicuro che potresti aumentare quel numero (8000
) modificando LUAI_MAXCSTACK
valore nel luaconf.h
del tuo ambiente e ricostruirlo (ambiente Lua).
Quello predefinito è, come hai già notato:
/*
@@ 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
Solo che sembra un po' una pornografia.
Che dire dell'utilizzo di una tabella e dell'iterazione attraverso table.concat()
blocchi di <=8000
chiavi?