From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Stephen J. Turnbull" Newsgroups: gmane.emacs.devel Subject: RE: always put Customizations in `custom-file', never in `user-init-file' Date: Tue, 11 Dec 2007 08:45:31 +0900 Message-ID: <87zlwicdwk.fsf@uwakimon.sk.tsukuba.ac.jp> References: <873auadz8l.fsf@uwakimon.sk.tsukuba.ac.jp> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1197330153 10973 80.91.229.12 (10 Dec 2007 23:42:33 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 10 Dec 2007 23:42:33 +0000 (UTC) Cc: "Lennart Borgman \(gmail\)" , Emacs-Devel To: "Drew Adams" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Dec 11 00:42:41 2007 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 1J1sGl-0000nH-OQ for ged-emacs-devel@m.gmane.org; Tue, 11 Dec 2007 00:42:40 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1J1sGU-0006jy-0I for ged-emacs-devel@m.gmane.org; Mon, 10 Dec 2007 18:42:22 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1J1sGP-0006gJ-Dh for emacs-devel@gnu.org; Mon, 10 Dec 2007 18:42:17 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1J1sGN-0006c1-Ep for emacs-devel@gnu.org; Mon, 10 Dec 2007 18:42:16 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1J1sGN-0006bg-4H for emacs-devel@gnu.org; Mon, 10 Dec 2007 18:42:15 -0500 Original-Received: from mtps02.sk.tsukuba.ac.jp ([130.158.97.224]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1J1sGM-00051a-GT for emacs-devel@gnu.org; Mon, 10 Dec 2007 18:42:14 -0500 Original-Received: from uwakimon.sk.tsukuba.ac.jp (unknown [130.158.99.156]) by mtps02.sk.tsukuba.ac.jp (Postfix) with ESMTP id E64C88003; Tue, 11 Dec 2007 08:42:12 +0900 (JST) Original-Received: by uwakimon.sk.tsukuba.ac.jp (Postfix, from userid 1000) id F1C2C11FA43; Tue, 11 Dec 2007 08:45:31 +0900 (JST) In-Reply-To: X-Mailer: VM 7.17 under 21.5 (beta28) "fuki" (+CVS-20070621) XEmacs Lucid X-detected-kernel: by monty-python.gnu.org: Linux 2.6, seldom 2.4 (older, 4) 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:85000 Archived-At: Drew Adams writes: > Do you mean an error that pre-exists in the init file or one that is > introduced during migration? Most init files have pre-existing errors if you are trying multiple Emacsen, all of which load .emacs if it's present. That was the common case. > If the former, then why would anything be different after the migration? Our experience was that most people would first encounter migration around the time of a major release, which is also the time they typically think about other Emacsen to see what it offers. This happened in late beta, where backward incompatibilities (not fboundp, void-variable, etc) still arise frequently. The users were aware of the beta status, but they were still quite shocked that their customizations were destroyed. > Where is [the code that manages loading of `custom-file']? I assume > it's not in `user-init-file', since this code loads `user-init-file'. It requires changing the Emacs startup code. It needs to be changed if Emacs wants to do automigration anyway. > In any case, IIUYC, users should be able to do whatever they like in the new > situation also, because it would only load `custom-file' upon explicit > request, never automatically. Our experience is that there are a lot of users who do fine with *no* *init file* *at all*. Use of Customization should not depend on the presence of an init file, and even one pair of parentheses is enough to scare some users. (Cf. "A Brief History of Time". I don't think that "(load custom-file)" deserves anywhere near the consideration that "E = mc^2" got from Prof. Hawking.) > Users need to be able to control when Customizations get loaded. I, for > example, load `custom-file' last, at the end of my .emacs. Others load it > first. Still others load it somewhere in the middle. There should be no > automatic loading of `custom-file'. Our experience says that automatic "after" loading is fine for 99% of users (that's all we actually provide in a released version), and that "before" is satisfactory for the rest. (There may be users we haven't encountered who *need* finer control, but the fact that in the 7 years since December 2000 we haven't encountered *one* suggests there are very few.) The reason I suggest providing the "before" option is that I know there are use cases for it. I have never heard of anybody who *needed* it loaded in the middle of the init file. I *have* helped debug problems that happened because customizations were loaded in the middle of the init file rather than at the appropriate end, though.