From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Basil Contovounesios via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#64404: 30.0.50; condition-case-unless-debug mishandles :success Date: Mon, 03 Jul 2023 10:24:04 +0100 Message-ID: <87r0pp8i17.fsf@epfl.ch> References: <87sfa7bf7p.fsf@epfl.ch> <88ACE707-A181-4D76-9773-A1B772C28CC1@gmail.com> Reply-To: Basil Contovounesios Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="15567"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: Eli Zaretskii , 64404@debbugs.gnu.org, Stefan Monnier To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Jul 03 11:25:20 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1qGFo7-0003nZ-QT for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 03 Jul 2023 11:25:19 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qGFnu-0005aG-Mk; Mon, 03 Jul 2023 05:25:06 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qGFnr-0005YS-3h for bug-gnu-emacs@gnu.org; Mon, 03 Jul 2023 05:25:04 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qGFnq-00051n-JH for bug-gnu-emacs@gnu.org; Mon, 03 Jul 2023 05:25:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qGFnq-0006F9-89 for bug-gnu-emacs@gnu.org; Mon, 03 Jul 2023 05:25:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Basil Contovounesios Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 03 Jul 2023 09:25:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64404 X-GNU-PR-Package: emacs Original-Received: via spool by 64404-submit@debbugs.gnu.org id=B64404.168837625623918 (code B ref 64404); Mon, 03 Jul 2023 09:25:02 +0000 Original-Received: (at 64404) by debbugs.gnu.org; 3 Jul 2023 09:24:16 +0000 Original-Received: from localhost ([127.0.0.1]:33135 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qGFn5-0006Di-Mg for submit@debbugs.gnu.org; Mon, 03 Jul 2023 05:24:15 -0400 Original-Received: from mail-wr1-f50.google.com ([209.85.221.50]:57466) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qGFn2-0006DT-ER for 64404@debbugs.gnu.org; Mon, 03 Jul 2023 05:24:14 -0400 Original-Received: by mail-wr1-f50.google.com with SMTP id ffacd0b85a97d-311367a3e12so5694382f8f.2 for <64404@debbugs.gnu.org>; Mon, 03 Jul 2023 02:24:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tcd.ie; s=google21; t=1688376246; x=1690968246; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=t7Z/B0YKmZdWNNyoIi46A0yNBIZKpqVtJtbhFHDci3U=; b=WcAizCdUN+Z48BwY8CYhNhHxIpM2ybifDGLV6S8ryP9OoyjsvfMC6GBoQV1mo73QPg IVcbemV+VZOQGnae72OFVzErLkJaitOFClzSLsLWw4j3PjvT0GM32TKs6bFagfn9aYeq rP3/SFAzIhCE6AOfa8blKZd1WzOm0kBOO08BRDz6ONsLUXgThiHYGp3Ew6AWHxMm99vg RPf6+vefwL2/XYLP06TBuvJf1KlXkZNQKtUDzchm9uyhaK9RZDTA+N726yByXRV38Ofq h6/aOKrzwSARiiCrnMgztRXm8P+wFIr4aWAXC8FAT4nBdSnrn5t8U4Y6olsikYcbRJSp +hFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688376246; x=1690968246; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=t7Z/B0YKmZdWNNyoIi46A0yNBIZKpqVtJtbhFHDci3U=; b=fJrwCn/SCX1+w9uV71h1/ht/piLjTJpgUU9bEp8Umhd2IlxaDNmgUfkEhFKygTcg2z VnxXchHQkXlqcM48C6FYOB+RkyPArxawW5othR0R6ZRqpUP7QYg/yrmDhBgh79HbKfrj zbw22fd4eTHafIATAVZ9VKatPdwGIWmFlsRC7W8teFA1qA7X1NXlEFKRUeM9N78cYNvz 1FWUspys7iVQq0HPYhbxDqMBNjT6VWZf0AvpIzhqRh6wn8kZJTYZeuR8ECv6ikkwrBVW UclM1QqppwRhZjU1KmqPgNYxVAEGM6DKWiZfw7WtB9l3L1fm0MuK8DWV9J1QqinOpRRp RfDg== X-Gm-Message-State: ABy/qLYShxcVHzJQrnMXZmJkTSYpbEJG+seIbgYtC4vIfWWQzeBe5uDV SISrGydW4giVEMrca74quuyDKg== X-Google-Smtp-Source: APBJJlFtclfTlg9XrRZVbBPJZAjwO7S1Lo8/38LfBdLuP1JMUselbEAw6Uh4JH0o7FdFXFQVSTZLmw== X-Received: by 2002:a5d:4804:0:b0:313:f1b7:c229 with SMTP id l4-20020a5d4804000000b00313f1b7c229mr8377341wrq.66.1688376246451; Mon, 03 Jul 2023 02:24:06 -0700 (PDT) Original-Received: from localhost ([217.173.96.166]) by smtp.gmail.com with ESMTPSA id c8-20020adfed88000000b0031433443265sm3583847wro.53.2023.07.03.02.24.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Jul 2023 02:24:05 -0700 (PDT) In-Reply-To: <88ACE707-A181-4D76-9773-A1B772C28CC1@gmail.com> ("Mattias =?UTF-8?Q?Engdeg=C3=A5rd?="'s message of "Sun, 2 Jul 2023 11:57:25 +0200") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:264512 Archived-At: --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Mattias Engdeg=C3=A5rd [2023-07-02 11:57 +0200] wrote: > Good catch! I don't think we need to bother about the Lisp > interpreter, but I added a byte-compiler warning for it in 59a350cb91. Thanks. > Would you like to repair condition-case-unless-debug? Like so? --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0001-Fix-condition-case-unless-debug-with-success.patch >From 8b47f52c81fe5d039a555f5037921f978191d2aa Mon Sep 17 00:00:00 2001 From: "Basil L. Contovounesios" Date: Mon, 3 Jul 2023 10:10:47 +0100 Subject: [PATCH] Fix condition-case-unless-debug with :success * lisp/subr.el (condition-case-unless-debug): Don't add debug condition to :success handler (bug#64404). * test/lisp/subr-tests.el (condition-case-unless-debug-success): New test. --- lisp/subr.el | 9 ++++++--- test/lisp/subr-tests.el | 11 +++++++++++ 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/lisp/subr.el b/lisp/subr.el index 4c462830120..483083b29c3 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -4987,9 +4987,12 @@ condition-case-unless-debug `(condition-case ,var ,bodyform ,@(mapcar (lambda (handler) - `((debug ,@(if (listp (car handler)) (car handler) - (list (car handler)))) - ,@(cdr handler))) + (let ((condition (car handler))) + (if (eq condition :success) + handler + `((debug ,@(if (listp condition) condition + (list condition))) + ,@(cdr handler))))) handlers))) (defmacro with-demoted-errors (format &rest body) diff --git a/test/lisp/subr-tests.el b/test/lisp/subr-tests.el index 1c220b1da18..14caf54b380 100644 --- a/test/lisp/subr-tests.el +++ b/test/lisp/subr-tests.el @@ -1256,5 +1256,16 @@ subr--copy-tree "((a b) (a b) #2# #2# #3# #3#)" "((a b) (a b) [c d] [c d] #s(e f) #s(e f))"))))))) +(ert-deftest condition-case-unless-debug-success () + "Test `condition-case-unless-debug' with :success (bug#64404)." + (should (= 1 (condition-case-unless-debug nil + 0 + (:success 1) + (t 2)))) + (should (= 1 (condition-case-unless-debug var + 0 + (:success (1+ var)) + (t var))))) + (provide 'subr-tests) ;;; subr-tests.el ends here -- 2.34.1 --=-=-= Content-Type: text/plain -- Basil --=-=-=--