From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: ludo@gnu.org (Ludovic =?iso-8859-1?Q?Court=E8s?=) Newsgroups: gmane.lisp.guile.devel Subject: Re: array handles and non-local exits Date: Wed, 01 Jul 2009 10:37:15 +0200 Message-ID: <87hbxw94uc.fsf@gnu.org> References: <49dd78620809151317i3421081ey3337d678477046ab@mail.gmail.com> <87ljxsv80p.fsf@gnu.org> <49dd78620809171232n745ac8ecgd2c3936989ce723b@mail.gmail.com> <87myi5g98g.fsf@gnu.org> <49dd78620809180217p21c36802me305270af14a6f95@mail.gmail.com> <87myi536we.fsf@gnu.org> <87tz1xjpko.fsf@arudy.ossau.uklinux.net> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1246437567 17423 80.91.229.12 (1 Jul 2009 08:39:27 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 1 Jul 2009 08:39:27 +0000 (UTC) Cc: guile-devel@gnu.org To: Neil Jerram Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Wed Jul 01 10:39:20 2009 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1MLvLb-0001Nb-1z for guile-devel@m.gmane.org; Wed, 01 Jul 2009 10:39:19 +0200 Original-Received: from localhost ([127.0.0.1]:53623 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MLvLa-000690-EW for guile-devel@m.gmane.org; Wed, 01 Jul 2009 04:39:18 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MLvJj-0004uZ-U1 for guile-devel@gnu.org; Wed, 01 Jul 2009 04:37:23 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MLvJf-0004pM-22 for guile-devel@gnu.org; Wed, 01 Jul 2009 04:37:23 -0400 Original-Received: from [199.232.76.173] (port=42665 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MLvJe-0004oz-OB for guile-devel@gnu.org; Wed, 01 Jul 2009 04:37:18 -0400 Original-Received: from mail1-relais-roc.national.inria.fr ([192.134.164.82]:23894) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.60) (envelope-from ) id 1MLvJe-0006WE-70 for guile-devel@gnu.org; Wed, 01 Jul 2009 04:37:18 -0400 X-IronPort-AV: E=Sophos;i="4.42,322,1243807200"; d="scan'208";a="32276178" Original-Received: from unknown (HELO nixey) ([193.50.110.109]) by mail1-relais-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES128-SHA; 01 Jul 2009 10:37:16 +0200 X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 13 Messidor an 217 de la =?iso-8859-1?Q?R=E9volution?= X-PGP-Key-ID: 0xEA52ECF4 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 821D 815D 902A 7EAB 5CEE D120 7FBA 3D4F EB1F 5364 X-OS: x86_64-unknown-linux-gnu In-Reply-To: <87tz1xjpko.fsf@arudy.ossau.uklinux.net> (Neil Jerram's message of "Tue, 30 Jun 2009 23:59:19 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux) X-detected-operating-system: by monty-python.gnu.org: Genre and OS details not recognized. X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:8812 Archived-At: Neil Jerram writes: > ludo@gnu.org (Ludovic Court=E8s) writes: > >> Not quite. If get/release are left as is (i.e., they do not establish a >> dynwind context), I would write something along the lines of: >> >> You must take care to always unreserve an array after reserving it, >> also in the presence of non-local exits. If a non-local exit can >> happen between these two calls, you should install a dynwind context >> that releases the array when it is left (see Dynamic Wind). >> >> In addition, array reserving and unreserving must be properly >> paired. For instance, when reserving two or more arrays in a certain >> order, you need to unreserve them in the opposite order. >> >> I would simply remove the following paragraph: >> >> These calls and other pairs of calls that establish dynwind contexts >> need to be properly nested. If you begin a context prior to reserving >> an array, you need to unreserve the array before ending the context. >> Likewise, when reserving two or more arrays in a certain order, you >> need to unreserve them in the opposite order. >> >> What do you think? > > Another loose end... I agree and have committed your suggested text > to branch_release-1-8 and master. Cool, thanks for going over all these loose ends! ;-) Maybe 1.8.7 is approaching now? Ludo'.