[Top][All Lists]

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


From: Luc Teirlinck
Subject: custom-declare-variable
Date: Mon, 4 Jul 2005 18:20:23 -0500 (CDT)

As I already pointed out in another message, there is some strangeness
in the custom-declare-variable docstring and the following comment,
As it was at the end of my message, it may have been overlooked.

  DEFAULT is stored as SYMBOL's value in the standard theme.  See
  `custom-known-themes' for a list of known themes.  For backwards
  compatibility, DEFAULT is also stored in SYMBOL's property
  `standard-value'.  At the same time, SYMBOL's property `force-value' is
  set to nil, as the value is no longer rogue."
    ;; Remember the standard setting.  The value should be in the standard
    ;; theme, not in this property.  However, this would require changing
    ;; the C source of defvar and others as well...
    (put symbol 'standard-value (list default))

First of all, the docstring appears to contain a falsehood.  From the
comment (and from the actual code), it appears that DEFAULT is not
_currently_ stored in the standard theme.  But the docstring clearly
seems to indicate an intent to store it in the standard theme and make
standard-value obsolete, which according to the comment, requires a
rewrite of defvar and various other primitives.

This seems to be completely crazy.  There would not appear to be
anything wrong with standard-value.  On the other hand, there are
plenty of things wrong with the bug-saturated attempt at Custom Themes
support in custom.el.  So I believe that it would be very unwise to
make correct functioning of Custom dependent on correct functioning of
the Custom Themes support.  The idea that implementing Custom themes
requires changes to defvar and various other primitives seems
completely crazy to me.  Do we really want to do that?  If not, should
we not delete the above comment and remove the (apparently) false
claims from the above second paragraph of the docstring:

  DEFAULT is stored in SYMBOL's property `standard-value'.  At the
  same time, SYMBOL's property `force-value' is set to nil, as the value
  is no longer rogue.



reply via email to

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