I want to make providing no value to setting set <setting> equivalent to clearing that setting: settings clear <setting>. The motivation is D52651 that allows settings to be written to and read from a file. Not all settings have a default or empty value that can be read again, for example enums where the default is not valid value (unknown for target.language) or strings where the empty string is not equal to an empty option.
- One possible alternative is giving every option an explicit and valid default. From a user perspective I don't think this is a good idea. For target.language it doesn't make sense to have unknown in the list of options.
- The alternative is changing all the dump methods to print settings clear <setting> for the eDumpOptionCommand. Personally I don't like adding too much logic to the dump methods.
I definitely share the feeling that it's unfortunate to have two methods of doing the same thing. However, I don't think this behavior is counter intuitive and a reasonable trade-off given the current situation.