From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Ken Raeburn Newsgroups: gmane.lisp.guile.user Subject: Re: SCM_LENGTH ??? Date: Mon, 10 Jan 2005 15:34:56 -0500 Message-ID: <170174E4-6347-11D9-9F67-000A95909EE2@raeburn.org> References: <41DEC762.765FDC9F@veritas.com> <41DED481.AEF0CABB@veritas.com> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 (Apple Message framework v619) Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1105407333 6083 80.91.229.6 (11 Jan 2005 01:35:33 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 11 Jan 2005 01:35:33 +0000 (UTC) Cc: guile-user@gnu.org, bkorb@veritas.com, mckelvey@users.sourceforge.net Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Tue Jan 11 02:35:27 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1CoAwR-0008V5-00 for ; Tue, 11 Jan 2005 02:35:27 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1CoB7x-0004iP-Ra for guile-user@m.gmane.org; Mon, 10 Jan 2005 20:47:21 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1CoB7i-0004hq-SO for guile-user@gnu.org; Mon, 10 Jan 2005 20:47:08 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1CoB7e-0004fg-Rc for guile-user@gnu.org; Mon, 10 Jan 2005 20:47:05 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1CoB7d-0004eX-Ul for guile-user@gnu.org; Mon, 10 Jan 2005 20:47:02 -0500 Original-Received: from [207.172.4.61] (helo=smtp02.mrf.mail.rcn.net) by monty-python.gnu.org with esmtp (Exim 4.34) id 1CoAnn-0002Nq-6d for guile-user@gnu.org; Mon, 10 Jan 2005 20:26:31 -0500 Original-Received: from 216-15-127-174.c3-0.smr-ubr3.sbo-smr.ma.cable.rcn.com ([216.15.127.174] helo=raeburn.org) by smtp02.mrf.mail.rcn.net with esmtp (Exim 3.35 #7) id 1CoAnh-0002iX-00; Mon, 10 Jan 2005 20:26:25 -0500 Original-Received: from [18.101.0.226] ([18.101.0.226]) by raeburn.org (8.12.11/8.12.11) with ESMTP id j0B1QNoN016785; Mon, 10 Jan 2005 20:26:23 -0500 (EST) In-Reply-To: Original-To: Marius Vollmer X-Mailer: Apple Mail (2.619) X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: main.gmane.org gmane.lisp.guile.user:4045 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.user:4045 On Jan 10, 2005, at 12:26, Marius Vollmer wrote: > The recommended way to check for deprecated features is to compile a > version of Guile with --disable-deprecated and compile/link/test > against that. It might be a bit annoying to do in the source, but what about flagging deprecated symbols while still allowing their use, in the non-"--disable-deprecated" case? E.g., declare a function SCM_LENGTH, which is declared in the header file with a macro which under recent enough versions of GCC expands to __attribute__((deprecated)) and on Windows to __declspec(deprecated), and in the source file defining the routine, on systems with the right compiler and assembler support, create a .gnu.warning.SCM_LENGTH (or .gnu.warning._SCM_LENGTH) section containing a message telling the user that the function will go away in a future release. (As I understand it, on Windows you can even deprecate a macro by name.) It won't work on all systems, but it should work on a lot of the configurations we'd care most about. And if a macro is deprecated, the overhead of a function call shouldn't be a big deal, as long as the semantics are such that it can actually be implemented with a function call. I started working out some configure tests and such to implement this at work, I could try to flesh them out a bit more if you like. (I *think* I've got all my papers in order, but I don't know for sure if I've got papers in from my current employer, MIT, to cover Guile. I haven't done the GNU maintainer bit in a while, could someone remind me where the list is? Or check it for me?) Ken _______________________________________________ Guile-user mailing list Guile-user@gnu.org http://lists.gnu.org/mailman/listinfo/guile-user