Protecting the system object
Ok, in A77 you may happen to see this line on boot...
system object protected
What does it mean? Well, try this:
>> system/version: 1.2.3
** Script error: protected variable - cannot modify: version
>> append system 'test
** Script error: protected value or series - cannot modify
** Where: append
** Near: append system 'test
So, there is a mild level of protection now on the system object, but there's more work to do here.
The system object is fairly complex, and the protect function is still just a bit like using a pea shooter to hunt elk. A lot more power is required if we're going to have dinner.
To view the current protector function:
If you dust off your editor and fiddle around with this code, you'll begin to see some of the issues. Various sub-series are not being protected properly (e.g. you can clear system/catalog/datatypes). In addition, several subsystems are updating the system object in ways that prevent their sub-objects from being protected (e.g. system/schemes.)
Well, not to worry. We'll chisel away on this until we get it how we want it. I'm sure BrianH has some ideas brewing already...