From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Drew Adams" Newsgroups: gmane.emacs.devel Subject: RE: :file keyword for Customize Date: Thu, 8 May 2008 11:00:40 -0700 Message-ID: <000101c8b135$6d360920$0ab32382@us.oracle.com> References: <004101c8b129$788cd490$0ab32382@us.oracle.com><48232D95.3020304@gnu.org><004501c8b12c$d10ce620$0ab32382@us.oracle.com><48233394.5060205@gnu.org> <86d4nwr8vs.fsf@lifelogs.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1210269662 32260 80.91.229.12 (8 May 2008 18:01:02 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 8 May 2008 18:01:02 +0000 (UTC) To: "'Ted Zlatanov'" , Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu May 08 20:01:37 2008 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1JuAQs-0004o9-Ta for ged-emacs-devel@m.gmane.org; Thu, 08 May 2008 20:01:31 +0200 Original-Received: from localhost ([127.0.0.1]:47218 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JuAQA-00027l-CZ for ged-emacs-devel@m.gmane.org; Thu, 08 May 2008 14:00:46 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JuAQ6-00027I-Gj for emacs-devel@gnu.org; Thu, 08 May 2008 14:00:42 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JuAQ6-00026u-1q for emacs-devel@gnu.org; Thu, 08 May 2008 14:00:42 -0400 Original-Received: from [199.232.76.173] (port=56057 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JuAQ5-00026i-Ho for emacs-devel@gnu.org; Thu, 08 May 2008 14:00:41 -0400 Original-Received: from rgminet01.oracle.com ([148.87.113.118]:28327) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1JuAQ5-0001ER-0h for emacs-devel@gnu.org; Thu, 08 May 2008 14:00:41 -0400 Original-Received: from agmgw2.us.oracle.com (agmgw2.us.oracle.com [152.68.180.213]) by rgminet01.oracle.com (Switch-3.2.4/Switch-3.1.6) with ESMTP id m48I0cDV009026; Thu, 8 May 2008 12:00:38 -0600 Original-Received: from acsmt351.oracle.com (acsmt351.oracle.com [141.146.40.151]) by agmgw2.us.oracle.com (Switch-3.2.0/Switch-3.2.0) with ESMTP id m48I0bt2004255; Thu, 8 May 2008 12:00:37 -0600 Original-Received: from inet-141-146-46-1.oracle.com by acsmt351.oracle.com with ESMTP id 3668980031210269634; Thu, 08 May 2008 11:00:34 -0700 Original-Received: from dradamslap1 (/130.35.179.10) by bhmail.oracle.com (Oracle Beehive Gateway v4.0) with ESMTP ; Thu, 08 May 2008 11:00:33 -0700 X-Mailer: Microsoft Office Outlook 11 In-reply-to: <86d4nwr8vs.fsf@lifelogs.com> X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3198 thread-index: AcixMl5hipkyvD06SA6k/bYuXNhnkAAAatgg X-Brightmail-Tracker: AAAAAQAAAAI= X-Brightmail-Tracker: AAAAAQAAAAI= X-Whitelist: TRUE X-Whitelist: TRUE X-detected-kernel: by monty-python.gnu.org: Linux 2.4-2.6 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:96806 Archived-At: > wrote: > JR> Drew Adams wrote: > >> The granularity for Customize customizations, in terms of > >> persistence and loading is currently all or none: everything > >> is in one file (`custom-file' or `init-file'). > >> > JR> JDEE at least, saves its own customizations in project > JR> files in the local directory. I think Gnus also lets you > JR> save your Gnus related customizations in .gnus. That is > JR> why I suggested looking at what those packages do. > > Gnus has two kinds of settings: normal ELisp variables, customized and > used as usual, and newsrc settings, which go into .newsrc.eld. There > are a few others, like the Gnus registry and score files, but > generally the two groups above are the major ones. There's some magic > with the group/topic parameters that I can explain but it wouldn't > matter much for what Drew proposed. > > .gnus.el is just ELisp code, nothing special. Gnus doesn't > set anything special for the ELisp variables it defines, so if they > are customized, they will be saved in the usual places. > > FWIW, I would make custom-file accept an alist of defgroup/defcustom > symbol name regex, associated with a file name or a function. I don't think that's the place to specify such organization, and I don't think a regexp offers the right kind of flexibility. > That puts the power in the user's hands, yet allows package > authors to add to the alist. The big win is that no special > :file keyword is needed, and all existing packages will work > with or without this special settings. I don't see any such big win. It's no big deal to add a :file keyword. And all existing packages would continue to work with no changes - :file would be optional, of course. This is about letting an individual option or face (or perhaps group) decide where it is stored (and consequently let users decide when it is loaded). The place to do that is in `defcustom' and `defface' (and perhaps `defgroup').