From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Kastrup Newsgroups: gmane.emacs.devel Subject: Re: Strange eval-after-load Date: Wed, 05 Jul 2006 11:09:24 +0200 Message-ID: <85ejx0e7uj.fsf@lola.goethe.zz> References: <20060702133304.GA4008@muc.de> <20060703105727.GA2626@muc.de> <85ac7rouo6.fsf@lola.goethe.zz> <20060703135010.GB2626@muc.de> <20060704080222.GA1316@muc.de> <20060704210805.GF1316@muc.de> <20060705085731.GB1418@muc.de> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1152129308 5900 80.91.229.2 (5 Jul 2006 19:55:08 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 5 Jul 2006 19:55:08 +0000 (UTC) Cc: Eli Zaretskii , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Jul 05 21:55:07 2006 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1FyDSW-0000cl-R0 for ged-emacs-devel@m.gmane.org; Wed, 05 Jul 2006 21:54:53 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FyDSW-0005d5-EJ for ged-emacs-devel@m.gmane.org; Wed, 05 Jul 2006 15:54:52 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1FyDRh-0005Aj-F9 for emacs-devel@gnu.org; Wed, 05 Jul 2006 15:54:01 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1FyDRg-0005AG-NW for emacs-devel@gnu.org; Wed, 05 Jul 2006 15:54:00 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FyDRg-0005AA-Fp for emacs-devel@gnu.org; Wed, 05 Jul 2006 15:54:00 -0400 Original-Received: from [199.232.76.164] (helo=fencepost.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.52) id 1FyDRh-0005Tx-5q for emacs-devel@gnu.org; Wed, 05 Jul 2006 15:54:01 -0400 Original-Received: from localhost ([127.0.0.1] helo=lola.goethe.zz) by fencepost.gnu.org with esmtp (Exim 4.34) id 1FyDRX-0001RR-5g; Wed, 05 Jul 2006 15:53:53 -0400 Original-Received: by lola.goethe.zz (Postfix, from userid 1002) id CA7081C3E069; Wed, 5 Jul 2006 11:09:24 +0200 (CEST) Original-To: Alan Mackenzie In-Reply-To: <20060705085731.GB1418@muc.de> (Alan Mackenzie's message of "Wed, 5 Jul 2006 09:57:31 +0100") User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) 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:56599 Archived-At: Alan Mackenzie writes: > On Wed, Jul 05, 2006 at 06:20:41AM +0300, Eli Zaretskii wrote: >> > Date: Tue, 4 Jul 2006 22:08:05 +0100 >> > From: Alan Mackenzie >> > Cc: emacs-devel@gnu.org > >> > (eval-after-load "edebug" '(def-edebug-spec c-point t)) > >> > To construe this form as "modifying the behaviour of another Lisp file >> > (?edebug, presumably) in an invisible way" seems like a total perversion >> > of reality to me. I would call this e-a-l "Telling another Lisp file >> > how to handle the current one" - in essence, the module which is >> > modified by this e-a-l is cc-defs, not edebug. > >> Doesn't "Telling another Lisp file how to handle the current one" >> modify the behavior of that other package in a way that isn't visible >> if you look at the code of that other package? > > Whether it does or not is surely independent of whether > `def-edebug-spec' is called directly, or through eval-after-load. > Again, this change is just as visible, whichever way the function is > called. Surely? Again, you are playing semantic games. The change is not visible where it happens, namely at the (provide 'edebug). > There is nothing objectionable about using the documented functional > interface `def-edebug-spec'. Straw man. Nobody objected to its use. What is objectional is that its call happens at the (provide 'edebug) line without any visible indication in edebug.el, and without any user-accessible variables or hook that would allow for inspection and modification of the behavior. A user won't have cause to be surprised if he added eval-after-load himself. But expecting and tracking every such use that might be hidden in Emacs' code base is a bit much. >> In your example above, Edebug's behavior is modified, but one cannot >> know that by reading Edebug's code alone. > > Why is this bad? The reasons have been cited to you several times and it is in the manual which also has been cited to you. I think you are blinded by your wishes. > I still don't understand. I'm trying to. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum