From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Bruce Korb Newsgroups: gmane.lisp.guile.devel Subject: Re: There is no returning Date: Sat, 16 Nov 2013 09:16:01 -0800 Message-ID: <5287A851.8020101@gnu.org> References: <527A836E.4050100@gnu.org> <527FDEFE.2070503@gnu.org> <527FEF6D.3010402@cs.ucla.edu> <527FEBA0.7000303@gnu.org> <87vbzva090.fsf@netris.org> <52850CE5.6090900@gnu.org> <87k3gaa6rl.fsf@netris.org> <52856288.40209@cs.ucla.edu> <87bo1ma5f5.fsf@netris.org> <52856ECF.9020907@cs.ucla.edu> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------010402000900070103050707" X-Trace: ger.gmane.org 1384625666 31737 80.91.229.3 (16 Nov 2013 18:14:26 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 16 Nov 2013 18:14:26 +0000 (UTC) Cc: Mark H Weaver , guile-devel@gnu.org, Harlan Stenn To: Paul Eggert Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Sat Nov 16 19:14:30 2013 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1VhkO6-000431-CO for guile-devel@m.gmane.org; Sat, 16 Nov 2013 19:14:30 +0100 Original-Received: from localhost ([::1]:36555 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VhkO5-00072V-Tv for guile-devel@m.gmane.org; Sat, 16 Nov 2013 13:14:29 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:50905) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VhkNv-00071N-1E for guile-devel@gnu.org; Sat, 16 Nov 2013 13:14:24 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VhkNp-0003M7-BK for guile-devel@gnu.org; Sat, 16 Nov 2013 13:14:18 -0500 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:54233) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VhkNp-0003Li-7F for guile-devel@gnu.org; Sat, 16 Nov 2013 13:14:13 -0500 Original-Received: from adsl-76-254-27-100.dsl.pltn13.sbcglobal.net ([76.254.27.100]:58696 helo=[192.168.10.2]) by fencepost.gnu.org with esmtpsa (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1VhkNo-0002cZ-1w; Sat, 16 Nov 2013 13:14:12 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130922 Icedove/17.0.9 In-Reply-To: <52856ECF.9020907@cs.ucla.edu> X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::e X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:16735 Archived-At: This is a multi-part message in MIME format. --------------010402000900070103050707 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit On 11/14/13 16:46, Paul Eggert wrote: > Yes, that sounds right. If user code employs SCM_NORETURN in that position > and you therefore you can't change SCM_NORETURN to mean _Noreturn, it might be simpler > to keep SCM_NORETURN the way it is for backwards compatibility. But you > can change all its uses in Guile to be _Noreturn at the start of the declaration, > where _Noreturn is defined the Gnulib way. Actually, internally to Guile I do not care in the slightest what gets used. The problem I face is that the Guile headers were written with the presumption that the token "noreturn" is not #defined to something else. I seriously doubt there are a lot of developers out there writing Guile call out functions with the SCM_NORETURN attribute, so fretting a lot about it is unlikely to be especially useful. What is crucial is fixing the headers so they do not break. That's been done. I do think it is also important to know that stable distributions do not jump on the next major release until it has proven to be stable. And, yes, often times current releases of other tools get built for "stable" platforms. That means my current stuff needs to build against the 1.8.x releases of Guile. In fact, it gets built against 1.6.x releases of Guile. That's why I have hundreds of lines of Guile compatibility cruft -- just to cope with changes. Attached is a shell script that I think I can distribute and forget about. My hope is that I can distribute the thing for the next decade while the "__attribute__ ((__noreturn__))" variation propagates everywhere. It gets invoked from the Makefile.am thus: diff --git a/autoopts/Makefile.am b/autoopts/Makefile.am index 3f2f3ad..137ec51 100644 --- a/autoopts/Makefile.am +++ b/autoopts/Makefile.am @@ -164,4 +164,10 @@ install-data-hook: .NOTPARALLEL: +if GL_GENERATE_STDNORETURN_H +$(STDNORETURN_H) : libguile/__scm.h +libguile/__scm.h : + $(SHELL) $(srcdir)/fix-guile.sh $(LIBGUILE_CFLAGS) +endif + --------------010402000900070103050707 Content-Type: application/x-shellscript; name="fix-guile.sh" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="fix-guile.sh" IyEgL2Jpbi9mYWxzZQoKZ3VpbGVfc2NtX2g9Cgp3aGlsZSB0ZXN0ICQjIC1ndCAwCmRvCiAg ICBjYXNlICIkMSIgaW4KICAgIC1JICkKICAgICAgICB0ZXN0IC1mICQyL2xpYmd1aWxlL19f c2NtLmggJiYgewogICAgICAgICAgICBndWlsZV9zY21faD0kMi9saWJndWlsZS9fX3NjbS5o CiAgICAgICAgICAgIGJyZWFrCiAgICAgICAgfQogICAgICAgIDs7CiAgICAtSSogKQogICAg ICAgIGY9JHsxIy1JfQogICAgICAgIHRlc3QgLWYgJGYvbGliZ3VpbGUvX19zY20uaCAmJiB7 CiAgICAgICAgICAgIGd1aWxlX3NjbV9oPSRmL2xpYmd1aWxlL19fc2NtLmgKICAgICAgICAg ICAgYnJlYWsKICAgICAgICB9CiAgICAgICAgOzsKICAgIGVzYWMKICAgIHNoaWZ0CmRvbmUK CnRlc3QgLXogIiRndWlsZV9zY21faCIgJiYgewogICAgZ3VpbGVfc2NtX2g9L3Vzci9pbmNs dWRlL2xpYmd1aWxlL19fc2NtLmgKICAgIHRlc3QgLWYgJGd1aWxlX3NjbV9oIHx8IHsKICAg ICAgICBlY2hvICJUaGUgR3VpbGUgaGVhZGVyIF9fc2NtLmggY2Fubm90IGJlIGZvdW5kIgog ICAgICAgIGV4aXQgMQogICAgfSAxPiYyCn0KCmdyZXAgLUUgJCcvXiNkZWZpbmVbIFx0XVND TV9OT1JFVFVSTi4qXChub3JldHVyblwpJyRndWlsZV9zY21faCA+L2Rldi9udWxsIHx8IFwK ICAgIGV4aXQgMAoKdGVzdCAtZCBsaWJndWlsZSB8fCBta2RpciBsaWJndWlsZSB8fCB7CiAg ICBlY2hvICJjYW5ub3QgbWFrZSBsaWJndWlsZSBkaXJlY3RvcnkiCiAgICBleGl0IDEKfSAx PiYyCgpzZXQgLWUKc2VkICQnL14jZGVmaW5lWyBcdF1TQ01fTk9SRVRVUk4uKihub3JldHVy bikvc0Aobm9yZXR1cm4pQChfX25vcmV0dXJuX18pQCcgXAogICAgJGd1aWxlX3NjbV9oID4g bGliZ3VpbGUvX19zY20uaApjcCAke2d1aWxlX3NjbV9oJS9fX3NjbS5ofS5oIC4K --------------010402000900070103050707--