From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: gerd.moellmann@t-online.de (Gerd Moellmann) Newsgroups: gmane.emacs.devel Subject: Re: Declarations in macro definitions Date: 21 Mar 2002 12:12:52 +0100 Sender: emacs-devel-admin@gnu.org Message-ID: <86r8medvij.fsf@gerd.dnsq.org> References: <86g02zqsp0.fsf@gerd.dnsq.org> <200203180905.g2I95ic08431@wijiji.santafe.edu> <86y9goxm0l.fsf@gerd.dnsq.org> <200203210904.g2L94Sb10148@wijiji.santafe.edu> Reply-To: gerd@gnu.org NNTP-Posting-Host: localhost.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1016709345 24217 127.0.0.1 (21 Mar 2002 11:15:45 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Thu, 21 Mar 2002 11:15:45 +0000 (UTC) Cc: emacs-devel@gnu.org Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.33 #1 (Debian)) id 16o0Xp-0006IT-00 for ; Thu, 21 Mar 2002 12:15:45 +0100 Original-Received: from fencepost.gnu.org ([199.232.76.164]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 16o0e0-0006zg-00 for ; Thu, 21 Mar 2002 12:22:08 +0100 Original-Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) by fencepost.gnu.org with esmtp (Exim 3.34 #1 (Debian)) id 16o0XN-0004Vz-00; Thu, 21 Mar 2002 06:15:17 -0500 Original-Received: from mailout06.sul.t-online.com ([194.25.134.19]) by fencepost.gnu.org with esmtp (Exim 3.34 #1 (Debian)) id 16o0VB-0004ON-00; Thu, 21 Mar 2002 06:13:01 -0500 Original-Received: from fwd01.sul.t-online.de by mailout06.sul.t-online.com with smtp id 16o0V9-0000Qs-0E; Thu, 21 Mar 2002 12:12:59 +0100 Original-Received: from gerd.dnsq.org (520015515780-0001@[217.230.105.108]) by fwd01.sul.t-online.com with esmtp id 16o0V7-0NnHO4C; Thu, 21 Mar 2002 12:12:57 +0100 Original-Received: (from gerd@localhost) by gerd.dnsq.org (8.11.6/8.11.6) id g2LBCqM00458; Thu, 21 Mar 2002 12:12:52 +0100 (CET) (envelope-from gerd@gnu.org) X-Authentication-Warning: gerd.dnsq.org: gerd set sender to gerd@gnu.org using -f Original-To: rms@gnu.org In-Reply-To: <200203210904.g2L94Sb10148@wijiji.santafe.edu> Original-Lines: 48 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2.50 X-Sender: 520015515780-0001@t-dialin.net Errors-To: emacs-devel-admin@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.0.5 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.devel:2090 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:2090 Richard Stallman writes: > > I like the the idea of putting this info in a macro definition, but I > > don't think `declare' is a good name for it. That name is too general > > to fit this rather specific meaning. > > (But it's familiar to Lisp programmers for a long time...) > > My memory of `declare' is different (and probably comes from Maclisp > in the 70s). Could you tell me how you have seen it used? This is an excerpt from some actual CL code: (defmacro mlet (vars value &body body) #+lispm(declare (compiler:do-not-record-macroexpansions) (zwei:indentation 1 3 2 1)) `(multiple-value-bind ,vars ,value ,@body)) I haven't seen anything for the debugger yet. [What I meant by ``familiar'' is not that (contemporary Common:-) Lisp programmers are specifically used to using `declare' for specifying indentation (I'm not aware that/if they are), but that CL programmers are used to `declare' in general, and to implementation-defined declaration specifiers in particular.] > > (ISTR that someone was implementing this for edebug a few months > > ago--in fact, I thought it had been installed already. > > In that case I guess my patch won't be needed. > > That code has not been installed--I checked that after I saw your > message. I think we never got papers for it. > > > That code is more elegant in some ways, because the edebug form spec > is stored in the macro definition itself and never goes in any other > data base. However, your code is much simpler. Given that anonymous > macros are not useful, perhaps your simple approach is better. I haven't seen the other code, so I cannot compare the two. The simplicity of the declare approach you mentioned yourself, which made it easy to handle both Edebug specs and indentation without touching Edebug or the Lisp indentation code. I like that simplicity, but on the other hand, I don't have strong feelings about this. Just tell me if you want it installed at some point. _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://mail.gnu.org/mailman/listinfo/emacs-devel