From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Stefan Israelsson Tampe Newsgroups: gmane.lisp.guile.bugs Subject: bug#39811: Missing dynwind exit application Date: Thu, 27 Feb 2020 19:59:25 +0100 Message-ID: Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="0000000000008d9fce059f935256" Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="19550"; mail-complaints-to="usenet@ciao.gmane.io" To: 39811@debbugs.gnu.org Original-X-From: bug-guile-bounces+guile-bugs=m.gmane-mx.org@gnu.org Thu Feb 27 20:00:11 2020 Return-path: Envelope-to: guile-bugs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1j7OOI-0004xy-5u for guile-bugs@m.gmane-mx.org; Thu, 27 Feb 2020 20:00:10 +0100 Original-Received: from localhost ([::1]:36774 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j7OOH-0006yJ-58 for guile-bugs@m.gmane-mx.org; Thu, 27 Feb 2020 14:00:09 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:40044) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j7OOB-0006y5-Sp for bug-guile@gnu.org; Thu, 27 Feb 2020 14:00:04 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j7OOA-0006Gb-T1 for bug-guile@gnu.org; Thu, 27 Feb 2020 14:00:03 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:54292) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j7OOA-0006G3-QE for bug-guile@gnu.org; Thu, 27 Feb 2020 14:00:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1j7OOA-0005Dk-ON for bug-guile@gnu.org; Thu, 27 Feb 2020 14:00:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Stefan Israelsson Tampe Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Thu, 27 Feb 2020 19:00:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 39811 X-GNU-PR-Package: guile X-Debbugs-Original-To: bug-guile@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.158282998420008 (code B ref -1); Thu, 27 Feb 2020 19:00:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 27 Feb 2020 18:59:44 +0000 Original-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 Original-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 Original-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 Original-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 Original-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 Original-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) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: bug-guile@gnu.org List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guile-bounces+guile-bugs=m.gmane-mx.org@gnu.org Original-Sender: "bug-guile" Xref: news.gmane.io gmane.lisp.guile.bugs:9599 Archived-At: --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--