It looks like the problem is found around line 1292:
when one of the possible methods has zero arguments, this check will fail, and the information for the zero arguments case will not be collected:
if(min_args) ...
I changed it to if(min_args>=0) and the code is generated properly. I'm not sure that it's the proper fix to the problem, you'd probably have to change the initial value for min_args to be -1 or something when the zero args case as not an option.
Bill
pike-devel@lists.lysator.liu.se