From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: doc elisp intro cross reference fixes Date: 20 Nov 2003 17:35:31 -0500 Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: References: <87wua28zux.fsf@zip.com.au> <87ad6vdsxi.fsf@mail.jurta.org> <200311190418.hAJ4ITC02466@raven.dms.auburn.edu> <200311190528.hAJ5SrK02553@raven.dms.auburn.edu> <3FBBD155.2050703@yahoo.com> <3FBD2081.2050000@yahoo.com> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1069368760 28895 80.91.224.253 (20 Nov 2003 22:52:40 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 20 Nov 2003 22:52:40 +0000 (UTC) Cc: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Thu Nov 20 23:52:34 2003 Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1AMxf7-0006pP-00 for ; Thu, 20 Nov 2003 23:52:33 +0100 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1AMxf7-0002oT-00 for ; Thu, 20 Nov 2003 23:52:33 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.24) id 1AMyN7-0005t2-Ah for emacs-devel@quimby.gnus.org; Thu, 20 Nov 2003 18:38:01 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1AMyMq-0005qs-Vh for emacs-devel@gnu.org; Thu, 20 Nov 2003 18:37:44 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1AMyMJ-0005O7-0E for emacs-devel@gnu.org; Thu, 20 Nov 2003 18:37:42 -0500 Original-Received: from [132.204.24.67] (helo=mercure.iro.umontreal.ca) by monty-python.gnu.org with esmtp (Exim 4.24) id 1AMyM8-0005Fe-0b for emacs-devel@gnu.org; Thu, 20 Nov 2003 18:37:00 -0500 Original-Received: from vor.iro.umontreal.ca (vor.iro.umontreal.ca [132.204.24.42]) by mercure.iro.umontreal.ca (8.12.9/8.12.9) with ESMTP id hAKMZWbj001121; Thu, 20 Nov 2003 17:35:32 -0500 Original-Received: by vor.iro.umontreal.ca (Postfix, from userid 20848) id 208CD3C63E; Thu, 20 Nov 2003 17:35:32 -0500 (EST) Original-To: Kevin Rodgers In-Reply-To: <3FBD2081.2050000@yahoo.com> Original-Lines: 45 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50 X-DIRO-MailScanner: Found to be clean X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:17989 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:17989 >>> 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