Eev and Customize
I never liked Emacs's M-x customize. I always found it very hard to understand, for exactly the same reasons that I find Org very hard to understand. The support for Customize in eev is quite minimal - basically `M-h M-h' knows how to handle Customize buffers, and it can generate links like this one,
that point to a certain Customize buffer - but eev doesn't have functions to display the variables associated to a certain "customization group" yet.
Eev contains several "experimental alternatives to customize". The oldest, and simplest, of these experiments, is from 2005: we can change the value of the variable `ee-hyperlink-prefix' by running `M-x ee-hyperlink-prefix'; note that this runs a command that has the same name as a variable. `M-x ee-hyperlink-prefix' creates a temporary buffer like the one in the screenshot below, in which the `setq' in the second line contains the current value of the variable, and the other setqs contain other common values.
In 2021 and 2022 I added to eev these four customization functions:
They are "5-minute hacks", in the sense of my presentation at the EmacsConf2020; the only extra trick is that they are written using `find-elinks-elisp' instead of `find-elinks'; `find-elinks-elisp' puts the temporary buffer in emacs-lisp mode. For more info on "5-minute hacks" see the other video that I prepared for the EmacsConf2020, and the indexes for the main video and for the other one. Click on the thumbnails below to see full-sized screenshots:
The standard "customize" is intended to be used in this way: we navigate through the customization buffers pressing lots of magic buttons - that I never understood well because I'm a very bad user - and the buttons that say "Save for Future Sessions" save some settings in our ~/.emacs or in our custom-file.
My eev-ish alternatives to "customize" are intended to be used in two different ways. If people are willing to chat with me - usually via IRC of Telegram - then I'll diagnose their problems, run one of the functions that I've described above - for example, `find-newbrowser-links' -, cherry-pick some lines from the temporary buffer, send to the person a small chunk of elisp code like this,
and say: put that in your ~/.emacs, and when you want to understand the details run the sexp after the "Generated with:"... and ta-da, problem solved in just a few minutes. The second way is for people who don't want to chat: they can run things like `M-x find-newbrowser-links' themselves, spend some hours or days or weeks following the links and running the tests in comments, and then they'll find the right solutions and modify their "~/.emacs"s themselves.
Note that many "configurations" in eev are done by redefining functions. This only works well because functions in eev are not byte-compiled.
I finished the page above in 2022-04-04, and in the same day it was
announced in Emacs News.