> To me (as a user) the main problem is that the user needs to be able to
> easily override such settings. So a package changing
> display-buffer-names after reading the .emacs is not a good idea.
With `display-buffer-names' a user can set the `override' specifier so
this is no problem. What's difficult is how to merge back or dismiss a
value changed by the application. Consider the following scenario:
(1) The user customizes and saves the value of an option back to her
.emacs.
(2) The application adds or changes an entry of the option and, assisted
by some extraordinary magic, manages to merge the new value into the
option without breaking anything.
(3) The user customizes the option again, changing or removing the
application's entry.
At this time the magic from step (2) would have to decide how to _not_
merge the entry into the option again. All this with users switching
back and forth between different .emacs files, refusing to work with the
standard customization interface, testing different Emacs versions ...