From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel Subject: Re: eval-after-load as a macro (and eval-next-after-load) Date: Tue, 08 Apr 2003 21:59:24 -0400 Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: References: <200304042030.h34KUEQL008262@rum.cs.yale.edu> <200304062105.h36L55Jn019873@rum.cs.yale.edu> <84y92mslqe.fsf@lucy.is.informatik.uni-duisburg.de> <84brziwhsi.fsf@lucy.is.informatik.uni-duisburg.de> <5xhe99z2q8.fsf@kfs2.cua.dk> Reply-To: rms@gnu.org NNTP-Posting-Host: main.gmane.org X-Trace: main.gmane.org 1049853791 30136 80.91.224.249 (9 Apr 2003 02:03:11 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Wed, 9 Apr 2003 02:03:11 +0000 (UTC) Cc: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Wed Apr 09 04:03:08 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 1934vc-0007pk-00 for ; Wed, 09 Apr 2003 04:03:08 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 1934zs-0004gb-00 for ; Wed, 09 Apr 2003 04:07:32 +0200 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 1934vd-0000Hp-01 for emacs-devel@quimby.gnus.org; Tue, 08 Apr 2003 22:03:09 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10.13) id 1934sN-0007TN-00 for emacs-devel@gnu.org; Tue, 08 Apr 2003 21:59:47 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10.13) id 1934s8-0006oM-00 for emacs-devel@gnu.org; Tue, 08 Apr 2003 21:59:34 -0400 Original-Received: from fencepost.gnu.org ([199.232.76.164]) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 1934s0-0006iA-00 for emacs-devel@gnu.org; Tue, 08 Apr 2003 21:59:24 -0400 Original-Received: from rms by fencepost.gnu.org with local (Exim 4.10) id 1934s0-00056O-00; Tue, 08 Apr 2003 21:59:24 -0400 Original-To: storm@cua.dk (Kim F. Storm) In-reply-to: <5xhe99z2q8.fsf@kfs2.cua.dk> (storm@cua.dk) Original-cc: teirllm@dms.auburn.edu Original-cc: kai.grossjohann@gmx.net 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:13057 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:13057 However, such hooks (e.g. cua-mode-hook) are normally for users to set, so if a package like crisp modifies it (too), Customize will report "this variable is set outside custom" It is normal for Lisp packages to modify hooks. We mustn't base the discussion on the assumption that this is somehow anomalous. IMO, that is an unnecessary complication, when eval-after-load does the job perfectly. It makes no sense to argue that people should avoid using hooks for this sort of customization. This is the reason for the hooks. It could be useful to clean up the way Custom handles hooks. For instance, if Custom sees elements in the hook that it did not put there, it could automatically divide the elements into two parts: those specified thru Custom, and those specified outside Custom. The user, in Custom, would edit only the former. This way, one hook variable would do both jobs, and we would not have to change any packages.