[Inform6] Parameter passed to Descriptors()

Sometime between Libraries 6/10 and 6/11 in parserm.h, someone stopped passing token_allows_multiple to Descriptors(). Why was this done? The code in Descriptors() still checks for this parameter.


The code in Descriptors() doesn’t check for the parameter. It checks the global allow_plurals, which it always did. The effect of the change in 6/11 is that the parameter is now presumed always true.

I see that Descriptors() is called from more places in 6/11. Maybe it didn’t make sense to have a parameter in some contexts but not others.

Look at lines 2400 and 2415. There you see allow_multiple tested, but that variable never has anything assigned to it.

That must have crept in with 6/12 changes. 6/11 doesn’t use the symbol “allow_multiple” at all. (Nor has it shown up in the I7 parser library.)

I dug around in the repo and found that it crept in along with the bug fix for L61114 (Mantis 976). It was copied from 6/9 (I think) without clearly understanding it. I don’t think anyone really understood that chunk of code given how it got worse between 6/10 and 6/11.