Bored this evening and thinking about #emacs defaults due to posts by @kickingvegas and @summeremacs
I wonder if adopting something like Rust's edition scheme would be the narrow path that would satisfy everyone. So a variable e.g. emacs-edition would control what defaults you get. If it's not set, it defaults to the legacy defaults, which are whatever they are before the 1st edition. If it is set to a a particular revision, you get the defaults which were active in that revision. If it's set to 'build you get the defaults of the build you are using. If set to e.g. 29, you never get any 30 defaults, but you could get 29.1, 29.2, 29.3, etc.
No clue how practical this is, and it's just a thought, and not a very deep one. Assuming someone implemented it, the hard part would be what color to paint the next edition's bike shed, I'm sure.
@ambihelical I'm also thinking maybe we need distributions like better defaults and such... something officially provided and easy to download and easy to differentiate from the main one.
This way I can still download the main one and have the settings everyone dislikes, but newcomers can be encouraged to get the new one. The only difference is a number of settings, basically it's vanilla Emacs with an init file.
But this way perhaps complexity can be kept down by having separate maintainers.
@ambihelical I've been thinking something similar, except I was thinking of adding a (require 'emacs-defaults-2023) in any newly created init.el (or .emacs) if Emacs sees there is no init file yet. You get new defaults if you haven't started Emacs before.
But even that I'm not sure would work. You still get the issue that I start Emacs on my server that I never configured and now my Emacs doesn't respond the way I expect it to.