Description of the problem or steps to reproduce
Passing options via micro -option=value in the command line should only temporarily override the option value for the current micro session, not change it permanently. But currently it wrongly changes it permanently in the case when the value passed via command line is the default value of this option, while the permanent setting in settings.json is a non-default value.
For example, if the parsecursor option is currently set to its default value (i.e. false), i.e. is not overridden in settings.json, then if we run micro with -parsecursor=true command-line flag, then, as expected, it does not write this setting persistently to settings.json, it only temporarily overrides it for the current micro session.
But, if we change parsecursor to true (non-default value) in settings.json, then, if we run micro with -parsecursor=false (default value), it unexpectedly removes the non-default setting from settings.json (so that when we start micro next time, without passing -parsecursor=false, we can see that parsecursor is unexpectedly set to false).
Specifications
Commit hash: d8e9d61
OS: any
Terminal: any