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: defvar'ing constants Date: Mon, 01 Aug 2005 10:39:29 +0900 Organization: The XEmacs Project Message-ID: <87slxu5tbi.fsf@tleepslib.sk.tsukuba.ac.jp> References: <87slz7844t.fsf@vh213602.truman.edu> <85y88yxgwd.fsf@lola.goethe.zz> <87vf41vokk.fsf@vh213602.truman.edu> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1122860522 30305 80.91.229.2 (1 Aug 2005 01:42:02 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 1 Aug 2005 01:42:02 +0000 (UTC) Cc: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Aug 01 03:41:52 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1DzPJB-0005Zg-5N for ged-emacs-devel@m.gmane.org; Mon, 01 Aug 2005 03:41:37 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DzPLn-0004H7-TU for ged-emacs-devel@m.gmane.org; Sun, 31 Jul 2005 21:44:19 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1DzPLH-00048r-KK for emacs-devel@gnu.org; Sun, 31 Jul 2005 21:43:47 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1DzPLB-00045b-U7 for emacs-devel@gnu.org; Sun, 31 Jul 2005 21:43:44 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DzPLB-000456-LO for emacs-devel@gnu.org; Sun, 31 Jul 2005 21:43:41 -0400 Original-Received: from [130.158.98.109] (helo=tleepslib.sk.tsukuba.ac.jp) by monty-python.gnu.org with esmtp (TLS-1.0:RSA_AES_128_CBC_SHA:16) (Exim 4.34) id 1DzPTH-0008HS-HV for emacs-devel@gnu.org; Sun, 31 Jul 2005 21:52:03 -0400 Original-Received: from steve by tleepslib.sk.tsukuba.ac.jp with local (Exim 4.50) id 1DzPH7-0005PZ-P1; Mon, 01 Aug 2005 10:39:29 +0900 Original-To: belanger@truman.edu In-Reply-To: <87vf41vokk.fsf@vh213602.truman.edu> (Jay Belanger's message of "Sat, 25 Jun 2005 21:28:43 -0500") User-Agent: Gnus/5.1006 (Gnus v5.10.6) XEmacs/21.5 (corn, 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:41391 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:41391 Sorry this is old; getting back into emacs-devel after a long hiatus. >>>>> "Jay" == Jay Belanger writes: Jay> That would be nice. A while back, there was a discussion Jay> along the lines of doing something similar for functions, Jay> (defun foo) to keep the compiler happy. I recall the idea Jay> (not mine) meeting approval. Perhaps it's still planned for Jay> a future release? XEmacs has a whole suite of macros for checking whether things are boundp or fboundp, and for locally declaring them to be f?boundp to the compiler without using def* macros. We have found them very useful in suppressing spurious compiler warnings. If there is interest in using this code, they are not yet assigned to the FSF, but at the present time they are 100% written by Ben Wing as far as I know. You might ask Ben to assign the code and avoid redundant work on this. The only advantage I see over the (defvar foo) approach is that you avoid spurious tags, but this can be convenient. These macros do not require any changes to the byte-compiler (in XEmacs, anyway), and can even be placed in a separate library and require'd only in the files where they are used. (I don't recommend this, just demonstrating that they don't interfere with the normal byte compiler.) Cheers, -- School of Systems and Information Engineering http://turnbull.sk.tsukuba.ac.jp University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN Ask not how you can "do" free software business; ask what your business can "do for" free software.