From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 01 17:25:39 2019 Received: (at 36845-done) by debbugs.gnu.org; 1 Sep 2019 21:25:39 +0000 Received: from localhost ([127.0.0.1]:57323 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1i4XLv-00082f-HR for submit@debbugs.gnu.org; Sun, 01 Sep 2019 17:25:39 -0400 Received: from eggs.gnu.org ([209.51.188.92]:55481) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1i4XLp-00082D-2f for 36845-done@debbugs.gnu.org; Sun, 01 Sep 2019 17:25:36 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:52962) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1i4XLj-0001rF-NV; Sun, 01 Sep 2019 17:25:27 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=41644 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1i4XLi-00058d-0V; Sun, 01 Sep 2019 17:25:26 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: zerodaysfordays@sdf.lonestar.org (Jakob L. Kreuze) Subject: Re: [bug#36845] [PATCH] machine: Implement 'roll-back-machine'. References: <87pnlsii1x.fsf@sdf.lonestar.org> Date: Sun, 01 Sep 2019 23:25:24 +0200 In-Reply-To: <87pnlsii1x.fsf@sdf.lonestar.org> (Jakob L. Kreuze's message of "Mon, 29 Jul 2019 18:37:14 -0400") Message-ID: <87imqb7lq3.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 36845-done Cc: 36845-done@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: -3.3 (---) Hello Jakob, This was applied as 9c70c460a05b2bc60f3f3602f0a2dba0f79ce86c, so closing now! Really nice as usual. One comment: zerodaysfordays@sdf.lonestar.org (Jakob L. Kreuze) skribis: > +(define-syntax-rule (with-roll-back should-roll-back? mbody ...) > + "Catch exceptions that arise when binding MBODY, a monadic expression = in > +%STORE-MONAD, and collect their arguments in a &deploy-error condition, = with > +the 'should-roll-back' field set to SHOULD-ROLL-BACK?" > + (catch #t > + (lambda () > + mbody ...) > + (lambda args > + (raise (condition (&deploy-error > + (should-roll-back should-roll-back?) > + (captured-args args))))))) If I=E2=80=99m not mistaken, this won=E2=80=99t have the desired effect, an= d I think we should do something akin to what =E2=80=98with-shepherd-error-handling=E2= =80=99 does. WDYT? Thanks, Ludo=E2=80=99.