> > Why not just use Customize?
> I don't like the gui;
I don't like the GUI either. Which is why I've made improvement suggestions,
filed bug reports, and come up some extensions of my own.
But I recognize that the GUI at least _works_, and it can often give you answers
to questions like the one you raised.
And I've seen a fair amount of hand-coded customize-workaround stuff in .emacs
files that does _not_ work or does not provide the type-checking and proper
initialization/setting code that Customize provides.
It is not uncommon for people to underestimate Customize, IMO. Customize is in
fact surprisingly solid, and it does quite a lot that you or I might never think
to do by hand.
IOW, if you don't want to use the GUI then there is a fair amount that you
become responsible for getting right, if you want the same solid result. This
is even more true if you write code that others will use, since they will do
things differently from what you might expect.
> also see below (sneak preview: customize is broken :-).
Please, don't just tell us here. `M-x report-emacs-bug', if you think Emacs
code is broken. That's the only real hope (however slim it might be in some
cases) of getting something fixed.
In all likelihood (my guess), if "customize" does not seem to do the right thing
in this particular case it is not because Customize is broken but because the
programmer who coded this particular user option did not do the right thing.
Those are not the same thing. And the devil is in the details. So provide the
details to Emacs Dev by reporting a bug.
You would not say "Lisp is broken" just because some programmer wrote some Lisp
code that didn't work, would you?
> While if I go your way, then message-syntax-checks will not depend on
It is not my way. I don't even use `message-syntax-checks' or Gnus, at all.
And I have _no_ plans to ever do so.
I do use `defcustom' heavily (more and more so), and I do use the Customize GUI.
FWIW, I didn't used to use Customize. Like you, I was convinced that my reason
for that was that I didn't like the GUI. I changed my mind about using it years
ago, though I am still of the opinion that the GUI sucks. And the underlying
Lisp code is virtually impenetrable, if not a mine field.
What does not suck, however, is what Customize _does_, as opposed to how
ugly/inconvenient it might be to use or how hard its code might be to fathom.
I use a separate `custom-file' (Touches pas a mon .emacs!), and I find that
letting Customize handle my option & face customizations is a lot less
problematic than fiddling with the equivalent Lisp code myself. YMMV.
I'm not trying to convince you - just telling my own story. IMHO, Customize is
your friend - ugly and hard to understand, but your friend nonetheless.