From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Luc Teirlinck Newsgroups: gmane.emacs.devel Subject: Re: eval-after-load as a macro (and eval-next-after-load) Date: Mon, 7 Apr 2003 07:50:30 -0500 (CDT) Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: <200304071250.h37CoUh16788@eel.dms.auburn.edu> References: <200304042030.h34KUEQL008262@rum.cs.yale.edu> <84y92mslqe.fsf@lucy.is.informatik.uni-duisburg.de> NNTP-Posting-Host: main.gmane.org X-Trace: main.gmane.org 1049719798 16729 80.91.224.249 (7 Apr 2003 12:49:58 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Mon, 7 Apr 2003 12:49:58 +0000 (UTC) Cc: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Mon Apr 07 14:49:55 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 192W4R-0004Lf-00 for ; Mon, 07 Apr 2003 14:49:55 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 192W7x-0008Ld-00 for ; Mon, 07 Apr 2003 14:53:33 +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 192W4f-0003h8-03 for emacs-devel@quimby.gnus.org; Mon, 07 Apr 2003 08:50:09 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10.13) id 192W4G-0003bi-00 for emacs-devel@gnu.org; Mon, 07 Apr 2003 08:49:44 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10.13) id 192W4E-0003Zi-00 for emacs-devel@gnu.org; Mon, 07 Apr 2003 08:49:43 -0400 Original-Received: from manatee.dms.auburn.edu ([131.204.53.104]) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 192W48-0003Rf-00 for emacs-devel@gnu.org; Mon, 07 Apr 2003 08:49:36 -0400 Original-Received: from eel.dms.auburn.edu (eel.dms.auburn.edu [131.204.53.108]) h37CnSoc000396; Mon, 7 Apr 2003 07:49:28 -0500 (CDT) Original-Received: (from teirllm@localhost) by eel.dms.auburn.edu (8.11.6+Sun/8.11.6) id h37CoUh16788; Mon, 7 Apr 2003 07:50:30 -0500 (CDT) X-Authentication-Warning: eel.dms.auburn.edu: teirllm set sender to teirllm@dms.auburn.edu using -f Original-To: kai.grossjohann@gmx.net In-reply-to: <84y92mslqe.fsf@lucy.is.informatik.uni-duisburg.de> (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:12951 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:12951 Kai Grossjohann wrote: So what's left is a good name for the new macro. Then the docstring for eval-after-load could point to the new macro, and old code wouldn't change behavior at all :-) I believe that, in that case, the quote below from the Elisp manual must be reworded too. If that quote is accurate, we are trying very hard to make writing badly designed code more convenient, which does not seem to be a very meaningful activity. Actually, if the quote would be accurate, then it would be very bad that there is that much old code that uses the function. The quote below clearly says that it is *not* OK to use this function outside of sloppy personal customizations. (Which might only mean that there is something wrong with the quote itself.) >>From C-h i g (elisp)Hooks for Loading: (talking about eval-after-load) In general, well-designed Lisp programs should not use this feature. The clean and modular ways to interact with a Lisp library are (1) examine and set the library's variables (those which are meant for outside use), and (2) call the library's functions. If you wish to do (1), you can do it immediately--there is no need to wait for when the library is loaded. To do (2), you must load the library (preferably with `require'). But it is OK to use `eval-after-load' in your personal customizations if you don't feel they must meet the design standards for programs meant for wider use. Sincerely, Luc.