emacs-devel
[Top][All Lists]
Advanced

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

Re: doc elisp intro cross reference fixes


From: Stefan Monnier
Subject: Re: doc elisp intro cross reference fixes
Date: 20 Nov 2003 17:35:31 -0500
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50

>>> I disagree.  It is a useful distinction, and programmers can take
>>> advantage of it to prevent users from setting variables in a way that
>>> they shouldn't (and thence submitting bug reports when they don't get
>>> the desired effect).
>> Can you give concrete examples where the distinction makes sense ?
> The example from the "Variable Definitions" node of the Emacs Lisp manual
> (cited by Luc): global-font-lock-mode

As seen elsewhere, this is considered as a bug in set-variable which
should either call the setter or warn the user.  BTW, how many bug reports
did we get about such things?

>> Why should they be independent mechanisms ?
>> What is the benefit ?  Why should something be only allowed via M-x
>> customize-variable but not via M-x set-variable (and vice-versa, BTW) ?
> They are independent because customize was introduced as a new mechanism,
> instead of extending set-variable.

I asked "why *should* they be" as opposed to "why *are* they".  I know the
history behind it, of course.

> (Would you feel comfortable removing set-variable, or aliasing it to
> customize?)

set-variable and customize are two different interfaces, some people prefer
one other prefer the other, yet others use one at times and the other at
other times.
So I'd rather keep them both, but make them consistent with each other.

>> As a programmer, the distinction seems very faint and I have a hard time
>> coming up with cases where it could make sense to prevent one use
>> and allow the other.
>> As a user it just makes for inconsistency where some variables can be set
>> via M-x set-variable while others need M-x customize-variable.
> That "inconsistency" accurately reflects the difference between variables
> whose values (alone) determine Emacs' behavior and those that don't (because
> they interact with other things).

If that's the only difference, then why use a * instead of just checking
for the presence of a setter function ?
I agree that set-variable should pay attention (somehow) to customize's
setter function.


        Stefan




reply via email to

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