[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Customize is only for newbies? [was: use-package.el -> Emacs core]

From: Drew Adams
Subject: Customize is only for newbies? [was: use-package.el -> Emacs core]
Date: Tue, 10 Nov 2015 06:58:42 -0800 (PST)

> Customize is for people that aren't yet ready to learn Elisp.

Wrong - if you meant "only" for such people.

Customize is for anyone who is wise enough to take advantage
of type-checking (:type), :set, :initialize, and other
Customize features.

And Customize (`defcustom') is not only the Customize UI.
It includes all of the `custom-*' and `customize-*' functions.

> Once they do, it indeed becomes redundant.

No, it ("indeed") does not.  Unless you do not consider using
any of the Lisp functions in cus-*.el as part of Customize.

Or unless you are prepared to write your own Lisp to do what
they do.  (At a certain level, all Lisp code except a very
few primitives can be called "redundant".)

It is a too common misconception (perhaps especially among
near-newbies) that Customize is only for newbies.  It's
too bad to see folks here propagate the same misconception.
That is the wrong message, not only for newbies but for
those who are no longer newbies.

Too many people think they are being Lispy by using only
`setq' to set option values in their init files (and later
they wonder why some things don't work, only to be told
about :type or about :set functions etc.).

> I used Customize when I started out around 5 years ago.
> I don't use it now, except for providing it to the
> users of my packages.

You don't use `custom-set-variables' or `custom-set-faces'
or any other `custom*' functions?

Or perhaps you use only simple options that have no :set
or :initialize triggers or other complications?

Or perhaps you don't need type-checking>  Or more likely,
perhaps the options you use do not have very complex :type

Too many defcustoms are written with rudimentary :type
declarations, essentially trying to turn defcustom into
defvar.  (And this includes in the Emac core.)  Dommage.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]