From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.xemacs.beta,gmane.emacs.devel Subject: Re: Suggest FSF incorporation of XEmacs schema to cleanly suppress byte-compilation warnings Date: Thu, 09 Dec 2004 17:06:07 -0500 Message-ID: References: <001901c4dc4e$09a8e540$210110ac@NEEEEEEE> <87wtvsqplx.fsf-monnier+emacs@gnu.org> Reply-To: rms@gnu.org NNTP-Posting-Host: deer.gmane.org X-Trace: sea.gmane.org 1102630463 28870 80.91.229.6 (9 Dec 2004 22:14:23 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 9 Dec 2004 22:14:23 +0000 (UTC) Cc: xemacs-beta@xemacs.org, emacs-devel@gnu.org Original-X-From: xemacs-beta-bounces@xemacs.org Thu Dec 09 23:14:17 2004 Return-path: Original-Received: from gwyn.tux.org ([199.184.165.135] ident=ident-user) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1CcWYB-0006ry-00 for ; Thu, 09 Dec 2004 23:14:16 +0100 Original-Received: from gwyn.tux.org (ident-user@localhost.localdomain [127.0.0.1]) by gwyn.tux.org (8.12.11/8.12.11) with ESMTP id iB9MAwTh002423; Thu, 9 Dec 2004 17:11:02 -0500 Original-Received: from gwyn.tux.org (ident-user@localhost.localdomain [127.0.0.1]) by gwyn.tux.org (8.12.11/8.12.11) with ESMTP id iB9M9nsq002171 for ; Thu, 9 Dec 2004 17:09:49 -0500 Original-Received: (from xemacweb@localhost) by gwyn.tux.org (8.12.11/8.12.11/Submit) id iB9M9nR1002170 for xemacs-beta-mailman@xemacs.org; Thu, 9 Dec 2004 17:09:49 -0500 Original-Received: from gwyn.tux.org (ident-user@localhost.localdomain [127.0.0.1]) by gwyn.tux.org (8.12.11/8.12.11) with ESMTP id iB9M9m6h002156 for ; Thu, 9 Dec 2004 17:09:48 -0500 Original-Received: (from mailnull@localhost) by gwyn.tux.org (8.12.11/8.12.11/Submit) id iB9M9m9G002155 for xemacweb@tux.org; Thu, 9 Dec 2004 17:09:48 -0500 Original-Received: from fencepost.gnu.org (fencepost.gnu.org [199.232.76.164]) by gwyn.tux.org (8.12.11/8.12.11) with ESMTP id iB9M9mO6002150 for ; Thu, 9 Dec 2004 17:09:48 -0500 Original-Received: from rms by fencepost.gnu.org with local (Exim 4.34) id 1CcWQJ-0005mL-Bn; Thu, 09 Dec 2004 17:06:07 -0500 Original-To: Stefan Monnier In-reply-to: <87wtvsqplx.fsf-monnier+emacs@gnu.org> (message from Stefan Monnier on Wed, 08 Dec 2004 20:11:34 -0500) X-Virus-Scanned: ClamAV 0.80/622/Wed Dec 8 08:36:53 2004 clamav-milter version 0.80j on gwyn.tux.org X-Virus-Scanned: ClamAV 0.80/622/Wed Dec 8 08:36:53 2004 clamav-milter version 0.80j on gwyn.tux.org X-Virus-Scanned: ClamAV 0.80/622/Wed Dec 8 08:36:53 2004 clamav-milter version 0.80j on gwyn.tux.org X-Virus-Scanned: ClamAV 0.80/622/Wed Dec 8 08:36:53 2004 clamav-milter version 0.80j on gwyn.tux.org X-Virus-Status: Clean X-Virus-Status: Clean X-Virus-Status: Clean X-Virus-Status: Clean X-XEmacs-List: beta X-BeenThere: xemacs-beta@xemacs.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: XEmacs Beta Testers List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Original-Sender: xemacs-beta-bounces@xemacs.org Errors-To: xemacs-beta-bounces@xemacs.org Xref: main.gmane.org gmane.emacs.xemacs.beta:17370 gmane.emacs.devel:30953 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:30953 > (defmacro and-boundp (variable &rest args) > (defmacro and-fboundp (function &rest args) It'd be better to extend our byte-compiler trick to handle `and' additionally to if and cond. I agree. declare-boundp is not needed, since defvar does the same job. with-byte-compiler-warnings-suppressed offers a little more control that with-no-warnings, but practically speaking I don't see a need for that extra control. Using with-no-warnings around a small piece of code suffices, practically speaking, to reduce the probability of missing any useful warning to close enough to zero that it isn't worth documenting another construct just to reduce it further. There are some constructs suggested that I think would indeed be useful: declare-fboundp, and perhaps with-boundp and with-fboundp. However, someone else suggested using (defun foo) for the first, which has the virtue of paralleling this use of defvar. Whether the last two are useful enough to document, I am not sure. I would not mind installing all the rest in a separate file just for compatibility's sake, however.