I created a test script in Lua that calculates all available Easter dates. The final output table consists of ~8000 dates. In the next step I tried to format the dates to strip the year and display only day (in arabic notation) and month (in roman notation) but I got error -> "Lua error: Too many calls to mw.language:formatDate()". Why is there any limit? What is the limit? Is any workaround to obey it? Regards.
Topic on Extension talk:Scribunto
The limit is currently 6000 characters total for the format srings in all calls to formatDate() (e.g. 6000 calls with 1-character format strings, or 600 with 10-character format strings, 1 with a 6000-character format string).
The limit was copied from ParserFunctions's #time function.
I divided the whole table into smaller chunks (a hundred years per table), hoping that the limit is per {{#invoke:...}}
, but this did not help. The limit is per page, and is ehausted in XVI century :-(. Are there any chances to get rid of the limit in the function code? The LUA scripts are already limited in two dimensions: time of script execution and memory consumption.
That is a good point. File a bug requesting that, and we'll see what happens.
Filed bug 47887.
I created custom date format routine to avoid the limit and got my expected result in this page. However I don't like the solution.