From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 27 13:59:44 2020 Received: (at submit) by debbugs.gnu.org; 27 Feb 2020 18:59:44 +0000 Received: from localhost ([127.0.0.1]:60265 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j7ONs-0005Ce-82 for submit@debbugs.gnu.org; Thu, 27 Feb 2020 13:59:44 -0500 Received: from lists.gnu.org ([209.51.188.17]:35584) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j7ONq-0005CW-Lt for submit@debbugs.gnu.org; Thu, 27 Feb 2020 13:59:43 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:39965) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j7ONp-0006w0-CQ for bug-guile@gnu.org; Thu, 27 Feb 2020 13:59:42 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM, HTML_MESSAGE autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j7ONo-0005yI-GP for bug-guile@gnu.org; Thu, 27 Feb 2020 13:59:41 -0500 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]:40387) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j7ONo-0005xt-9J for bug-guile@gnu.org; Thu, 27 Feb 2020 13:59:40 -0500 Received: by mail-wm1-x336.google.com with SMTP id t14so566926wmi.5 for ; Thu, 27 Feb 2020 10:59:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=qM0T976r3gh8kBWz4Qr5dcf43prJkQHqV18czcqWdb8=; b=KYFBYso4ULWhjK5YfgRcZM5pGY8/5i/8N5lAkDoy1pY/YwwO+pWjilzP7odfXUtWE0 LMF6rCZLI4sIeqAEW2/KhqkpamWdO0iYLJxc3jwuOO0C7YN0GB2yLts5M8bHPvzZ0uWW nXUMg5P/OGbBWO9rR5xR2WYWZSx5EOQ8fiaH5LhMs2c7g1YHozgVTV/CCr6DQEMY71kN JKfggDaFS5O3dwQqdPxetgKfg4XicQbEBD3f0+HhuwAH8/U+3CueBZLEaicRqWDd8AKJ A7suEzSmcDLTDAJ4BPIvspa4Yv+IUTgrfvb7MITwHjm+N3utdgexYiYtDJJ9A2NXbDKs fUVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=qM0T976r3gh8kBWz4Qr5dcf43prJkQHqV18czcqWdb8=; b=B4DjTDlyTEu3daJGExseKpetwjra+VknqKfmT6NPNMOxkGfNR3lQpYVace9KfPgV5Y M6UUxqAcMwajkjjFT8s9lVHP1p//K/RP1IePcTryQWdOTuC4Tpzixe4c/TruS0Ixk583 gjY5l3YvSrSz+yG2nl/npzQpGjM2uxee2AhuIQQmQ08ZBN1ZR9NW/RgRlxgARduaatsC aerZOWmaAQL2wj+3dkgzqGPuCZcMbhhnsyKmcoaH44EldxOOKWS3MCO/LjGFgZ4SdjbY ZJ46YuPlh2YdKrNtvGI7KH4ZmCLtI2RxM9h48706wBAFZ8TsHMGg2C+Mhd0/MrNm4x1L SyPQ== X-Gm-Message-State: APjAAAXWaCDy+dCbMyURrAM+6DaSSOEzCfx/WHSIflucby/xzLURlL3t pYJA0zD7yI/E0urotk5BnWKi+bftlvu78xu73VRm3215 X-Google-Smtp-Source: APXvYqwXuA2ZxbaIUJ/boWZV3QoV+35Ra51cMfa0vFZtI/eC+qHkiH0EV8GAj3HqRAuuvP5vJQK55vdlnIpolWNeSK4= X-Received: by 2002:a7b:c392:: with SMTP id s18mr144773wmj.169.1582829977574; Thu, 27 Feb 2020 10:59:37 -0800 (PST) MIME-Version: 1.0 From: Stefan Israelsson Tampe Date: Thu, 27 Feb 2020 19:59:25 +0100 Message-ID: Subject: Missing dynwind exit application To: bug-guile@gnu.org Content-Type: multipart/alternative; boundary="0000000000008d9fce059f935256" X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::336 X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --0000000000008d9fce059f935256 Content-Type: text/plain; charset="UTF-8" Executing this code on guile-3.0.0: (dynamic-wind (lambda () (pk 'enter)) (lambda () (catch #t (lambda () (throw 1)) (lambda x (pk 'catch x) (apply throw x)))) (lambda () (pk 'leave))) Leads to the output: scheme@(guile-user)> (load "bug.scm") ;;; (enter) ;;; (catch (a)) ice-9/boot-9.scm:1669:16: In procedure raise-exception: Throw to key `a' with args `()'. What, it does not execute the leave part of the dynamic wind. This works however, (catch #t (lambda () (dynamic-wind (lambda () (pk 'enter)) (lambda () (catch #t (lambda () (throw 'a)) (lambda x (pk 'catch x) (apply throw x)))) (lambda () (pk 'leave)))) (lambda x #f)) So is this how it should be? --0000000000008d9fce059f935256 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Executing this code on guile-3.0.0:

(dy= namic-wind
=C2=A0(lambda () (pk 'enter))
=C2=A0(lambda () (catch = #t
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (lambda () (throw 1)= )
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (lambda x (pk 'ca= tch x) (apply throw x))))
=C2=A0(lambda () (pk 'leave)))

Leads to the output:

scheme@(guile-u= ser)> (load "bug.scm")
;;; (enter)
;;; (catch (a))=C2=A0

ice-9/boot-9.scm:1669:16: In procedure raise-exception:
Throw to key `a' with args `()'.

What, it does not execute the leave part of the dynamic wind.

This works however,

(catch #t
=C2= =A0 (lambda ()
=C2=A0 =C2=A0 (dynamic-wind
=C2=A0 =C2=A0 =C2=A0 (lamb= da () (pk 'enter))
=C2=A0 =C2=A0 =C2=A0 (lambda () (catch #t
=C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(lambda (= ) (throw 'a))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0(lambda x (pk 'catch x) (apply throw x))))
=C2=A0 = =C2=A0 =C2=A0 (lambda () (pk 'leave))))
=C2=A0 (lambda x #f))
<= div>
So is this how it should be?

--0000000000008d9fce059f935256-- From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 03 15:34:06 2020 Received: (at 39811-close) by debbugs.gnu.org; 3 Mar 2020 20:34:06 +0000 Received: from localhost ([127.0.0.1]:40033 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j9EEw-0000RE-6D for submit@debbugs.gnu.org; Tue, 03 Mar 2020 15:34:06 -0500 Received: from fanzine.igalia.com ([178.60.130.6]:55044) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j9EEu-0000Qg-Pg for 39811-close@debbugs.gnu.org; Tue, 03 Mar 2020 15:34:05 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com; s=20170329; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date:References:Subject:Cc:To:From; bh=b1It8JmMqZFXURj0q19eKIBM8tJKqEMKqH594XFlVpk=; b=JA/pzeyjrj+vf4pUtvHxr707+xQhONPZfxFZ0HDmw7UNYsvO8t5olkxXyPTvwFRnRZ3uTYEE3AIZxG0rTZTvtzln8G00/2V24ZB/LpC8EG5y3ZjsOP4W6KcYifWsR1Ll9hOJ1I1saG8Z/gE52pHoeItJR8dKLvOiLmVi4UbLEXXnStjvjcpIZnRvJnfkWYQB7jZt6S/L1HJr2DBux8FOxQonrSzpdXc0TZuepsc0/xbW8CqNJ8kwmqRVb8BF3F2KO6d38iI2NrplXAtm1mTWlJZ5w79wb98J8HRW0N0MEWi4SD0bm0e5MgBy58p258Wz9wxP9SE3VFGPMpqiof8cLw==; Received: from [88.123.12.110] (helo=sparrow) by fanzine.igalia.com with esmtpsa (Cipher TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim) id 1j9EEo-0008Dy-3a; Tue, 03 Mar 2020 21:33:58 +0100 From: Andy Wingo To: Stefan Israelsson Tampe Subject: Re: bug#39811: Missing dynwind exit application References: Date: Tue, 03 Mar 2020 21:33:47 +0100 In-Reply-To: (Stefan Israelsson Tampe's message of "Thu, 27 Feb 2020 19:59:25 +0100") Message-ID: <87r1y918lw.fsf@igalia.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 39811-close Cc: 39811-close@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Stefan Israelsson Tampe writes: > Executing this code on guile-3.0.0: > > (dynamic-wind > (lambda () (pk 'enter)) > (lambda () (catch #t > (lambda () (throw 1)) > (lambda x (pk 'catch x) (apply throw x)))) > (lambda () (pk 'leave))) > > Leads to the output: > > scheme@(guile-user)> (load "bug.scm") > ;;; (enter) > ;;; (catch (a)) > > ice-9/boot-9.scm:1669:16: In procedure raise-exception: > Throw to key `a' with args `()'. > > What, it does not execute the leave part of the dynamic wind. That is because the REPL leaves you in the context of where the uncaught error was thrown. If you ,quit the REPL to go back to the outer REPL, it will print "leave" as expected. Please reopen if I have misunderstood :) Cheers, Andy From unknown Mon Jun 23 22:06:36 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Wed, 01 Apr 2020 11:24:05 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator