Subject: bug#6089: 23.1.96; doc for defcustom :set

From: "Drew Adams" <[email-masked]>
Date: Mon, 3 May 2010 08:40:50 -0700

Node (elisp)Customization > Variable Definitions describes :set as
follows:
 
     Specify SETFUNCTION as the way to change the value of this option.
     The function SETFUNCTION should take two arguments, a symbol (the
     option name) and the new value, and should do whatever is
     necessary to update the value properly for this option (which may
     not mean simply setting the option as a Lisp variable).  The
     default for SETFUNCTION is `set-default'.
 
And the doc string says this:
 
     VALUE should be a function to set the value of the symbol.
     It takes two arguments, the symbol to set and the value to
     give it.  The default choice of function is `set-default'.
 
It isn't clear from these that :set takes effect only when you change
the option value using Customize.  I was thinking from reading this that
it took effect whenever the option value was changed in any way. Or at a
minimum whenever it was changed using either Customize or
`set-variable'.
 
Please consider making explicit that this applies only to value changes
made in the Customize UI.
 
In GNU Emacs 23.1.96.1 (i386-mingw-nt5.1.2600)
 of 2010-04-20 on G41R2F1
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (3.4) --no-opt --cflags -Ic:/xpm/include'