freeciv-ruleup bug with ExplorerStartUnit
You're right that there's inconsistency in that internal string seems to be "ExplorerStartunit" (and similar for all other "XxxStartunit"), while supplied rulesets have "ExplorerStartUnit". However, I fail to see where is that case sensitive, causing it to fail, and even more surprisingly so that the *internal* string fails and not that in the rulesets.
Did you actually encounter such a failure, or did you just assume the handling to be case sensitive? If you had a failure, can you give instructions how to reproduce it?
Should add this is 3.0.0-beta2. I'm updating my custom ruleset from 2.6 to 3.0, used freeciv-ruleup. At run time I didn't get expected Explorer start unit, figured out that ExplorerStartunit in units.ruleset was the cause, replaced that with ExplorerStartUnit and it worked OK. Further testing shows that then changing it back to ExplorerStartunit doesn't break it. This is weird. Tried same sequence with DiplomatStartunit and same thing happened, first it fails, changing to DiplomatStartUnit makes it work, change it back to DiplomatStartunit and it still works.
Since it was weird, tried a bunch of additional testing and could not repro. Now I'm thinking it was a random glitch on my part and not a real bug.
There's still the inconsistency between internal flag names and ones used in the supplied rulesets, which I'd want to fix.
Not yet sure if it should go to S3_0, or only to later branches.
Attached patches even for S3_0. In some cases these strings end end-user readable in the help system.
In units.ruleset, roles = "ExplorerStartUnit" gets turned into roles = "ExplorerStartunit", and the case sensitive causes it to stop working.