[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Eliminating "changed in Emacs outside of Customize"
From: |
Luc Teirlinck |
Subject: |
Re: Eliminating "changed in Emacs outside of Customize" |
Date: |
Tue, 1 Feb 2005 16:11:49 -0600 (CST) |
David Kastrup wrote:
It appears that I am babbling and confusing this with something else.
Probably with custom-declare-variable calling the setter function if
the value of the variable has been set before custom-declare-variable
is executed.
I believe that you were confusing with the defcustom form, which does
not override an already set value (_unless_ the :set function does so)
and its default :initialize function `custom-initialize-reset', which
nevertheless executes the :set function _even_ if the value is already
set.
`custom-initialize-reset' is a dangerous default by the way, as it
could override the user and unpredictably change behavior due to, say,
browsing custom groups and hence inadvertently loading a file and
executing a defcustom. Indeed, even if the :set function does not
change the value, it can change other stuff. We decided before that
it was too late to change this default, but I believe that anybody who
writes a defcustom with a :set function should carefully check whether
the default :initialize function is really appropriate for it, taking
into account that not all Emacs users will customize the variable
through Custom. `custom-initialize-reset' has led to several bugs,
but all _known_ bugs caused by it have been corrected.
Sincerely,
Luc.
- Re: Eliminating "changed in Emacs outside of Customize", Richard Stallman, 2005/02/01
- Re: Eliminating "changed in Emacs outside of Customize", Per Abrahamsen, 2005/02/01
- RE: Eliminating "changed in Emacs outside of Customize", Drew Adams, 2005/02/01
- Re: Eliminating "changed in Emacs outside of Customize", Lennart Borgman, 2005/02/01
- Re: Eliminating "changed in Emacs outside of Customize", David Kastrup, 2005/02/01
- Re: Eliminating "changed in Emacs outside of Customize",
Luc Teirlinck <=
- Re: Eliminating "changed in Emacs outside of Customize", David Kastrup, 2005/02/01
- RE: Eliminating "changed in Emacs outside of Customize", Drew Adams, 2005/02/01
- Re: Eliminating "changed in Emacs outside of Customize", Richard Stallman, 2005/02/03
- Re: Eliminating "changed in Emacs outside of Customize", Lennart Borgman, 2005/02/03
- Re: Eliminating "changed in Emacs outside of Customize", Richard Stallman, 2005/02/05
- RE: Eliminating "changed in Emacs outside of Customize", Drew Adams, 2005/02/03
- Re: Eliminating "changed in Emacs outside of Customize", Lennart Borgman, 2005/02/01
- Re: Eliminating "changed in Emacs outside of Customize", Luc Teirlinck, 2005/02/01
- RE: Eliminating "changed in Emacs outside of Customize", Drew Adams, 2005/02/01
- Re: Eliminating "changed in Emacs outside of Customize", Luc Teirlinck, 2005/02/01