From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Per Abrahamsen Newsgroups: gmane.emacs.devel Subject: Re: Customize Rogue Date: Mon, 10 Mar 2003 15:24:32 +0100 Organization: The Church of Emacs Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: References: <20030309185419.2506.LEKTU@terra.es> <200303091825.MAA13028@eel.dms.auburn.edu> <20030309194520.250C.LEKTU@terra.es> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1047306317 4720 80.91.224.249 (10 Mar 2003 14:25:17 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Mon, 10 Mar 2003 14:25:17 +0000 (UTC) Cc: 0@main.gmane.org Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Mon Mar 10 15:25:16 2003 Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 18sODM-0001Dz-00 for ; Mon, 10 Mar 2003 15:25:16 +0100 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 18sOZe-0002xj-00 for ; Mon, 10 Mar 2003 15:48:18 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18sODB-0006Bj-08 for emacs-devel@quimby.gnus.org; Mon, 10 Mar 2003 09:25:05 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10.13) id 18sOCs-0006Av-00 for emacs-devel@gnu.org; Mon, 10 Mar 2003 09:24:46 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10.13) id 18sOCq-00068q-00 for emacs-devel@gnu.org; Mon, 10 Mar 2003 09:24:45 -0500 Original-Received: from main.gmane.org ([80.91.224.249]) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18sOCq-00067I-00 for emacs-devel@gnu.org; Mon, 10 Mar 2003 09:24:44 -0500 Original-Received: from list by main.gmane.org with local (Exim 3.35 #1 (Debian)) id 18sOCC-00018N-00 for ; Mon, 10 Mar 2003 15:24:04 +0100 Mail-Followup-To: emacs-devel@gnu.org X-Injected-Via-Gmane: http://gmane.org/ Original-To: emacs-devel@gnu.org Original-Received: from news by main.gmane.org with local (Exim 3.35 #1 (Debian)) id 18sOC8-00017k-00 for ; Mon, 10 Mar 2003 15:24:00 +0100 Original-Lines: 35 Original-X-Complaints-To: usenet@main.gmane.org X-Face: +kRV2]2q}lixHkE{U)mY#+6]{AH=yN~S9@IFiOa@X6?GM|8MBp/ Mail-Copies-To: nobody User-Agent: Gnus/5.090007 (Oort Gnus v0.07) Emacs/21.1 (sparc-sun-solaris2.8) Cancel-Lock: sha1:BzOChOshydneCEHnd2KJFFunQq0= X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1b5 Precedence: list List-Id: Emacs development discussions. List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:12229 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:12229 Juanma Barranquero writes: > The "problem" is that I *don't* like the customization interface, but > some modules want to force the user to set variables through the > interface. I don't want to do that. I want to set them directly. If any module force the user to go through Customize, that is simply a bug in that module. Rather than implementing workarounds, the module should be fixed. Note that most cases where people notice this is for minor modes, which used to work like this (defvar foo-bar-mode nil) ;; Internal state variable, do not touch (defun foo-bar-mode (flag) ...) ;; Command to turn foo bar mode on or off. and now work like this (defcustom foo-bar-mode nil "State of foo bar mode, only change this through customize." ...) (defun foo-bar-mode (flag) ...) ;; Command to turn foo bar mode on or off. because Customize requires a variable to work. This means an internal variable have become visible but only for customize users. It does not mean foo bar mode suddenly only can be set through customize, but the Lisp interface is now as always a function, not a variable. The doc-string just makes people jump to the conclusion that no Lisp interface is available. With Luc's set-activate function, there will be to Lisp interfaces with identical semantics. But it will help people who us customize to search for options, but not to set them, so I think it is very useful.