X-Loop: help-debbugs@HIDDEN Subject: bug#69953: [PATCH] Remove duplicated asserts and checks Resent-From: Sergey Vinokurov <serg.foo@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Sat, 23 Mar 2024 03:29:02 +0000 Resent-Message-ID: <handler.69953.B.171116450131544 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: report 69953 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 69953 <at> debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN Received: via spool by submit <at> debbugs.gnu.org id=B.171116450131544 (code B ref -1); Sat, 23 Mar 2024 03:29:02 +0000 Received: (at submit) by debbugs.gnu.org; 23 Mar 2024 03:28:21 +0000 Received: from localhost ([127.0.0.1]:45887 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rns3Q-0008Ch-Q0 for submit <at> debbugs.gnu.org; Fri, 22 Mar 2024 23:28:21 -0400 Received: from lists.gnu.org ([209.51.188.17]:37626) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <serg.foo@HIDDEN>) id 1rns3O-0008CX-Vg for submit <at> debbugs.gnu.org; Fri, 22 Mar 2024 23:28:19 -0400 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 <serg.foo@HIDDEN>) id 1rns2j-0001rC-Oj for bug-gnu-emacs@HIDDEN; Fri, 22 Mar 2024 23:27:37 -0400 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <serg.foo@HIDDEN>) id 1rns2i-00021x-5O for bug-gnu-emacs@HIDDEN; Fri, 22 Mar 2024 23:27:37 -0400 Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-33fd8a2a407so1565209f8f.2 for <bug-gnu-emacs@HIDDEN>; Fri, 22 Mar 2024 20:27:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1711164454; x=1711769254; darn=gnu.org; h=subject:from:to:content-language:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=RRpplaKJiHZaRqnMiKxT/Lepz1ELsiSittC3n6aRun8=; b=gv2rEV5U5eqgwY1DPxLUUtxKOtzyJxqWEaulNfvXeLFnYy0yo2lK7A7fhKLsMgU0Ps BC+htqgyRs7vf2CtJx2oebGYKytuW5VYDCbBuxNhHyy2i+HWmj25kA6zL41SJDO/28kr UWisWgEiD5WY9VZ5u2eYQan6T6KzVZqF8YA3Ec5uskLbFU6Ebjt4Og3BOgfYK7dVxlzX 7MWnH8b6FGryrR4CItc090Y6BDHdbPgzqKCUjYa4WGyHSGxe3rrn3/KcWmtPlXS9Kcmr 0CkwMHfaR6fukIcc0DrYsvlJuny9qZLlDh0BD7opQceIZTo9R0r8Jfk2DAce/edJUBKc hvRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711164454; x=1711769254; h=subject:from:to:content-language:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=RRpplaKJiHZaRqnMiKxT/Lepz1ELsiSittC3n6aRun8=; b=Na3CbWGAmRn/3URpnf0CwXXAyIFIMwvuSJgGoQd5h4iB2HSNzNUSA+z7mmcbrfCUn1 YlTnCTmQz3T0bQIKOQm4c03y6b3ntEr6YGwMp19My4TAYMXOvS2fzphawkRhr5rXOLMn Qf+JtEyTvr+8q20ptK/+8UjB8rMpBi8Lg7Iq9X7h4uPAOC3b8IkI5wNnwe4uWJot4vw3 uWHbyQZKeUDLOs1c7C5wToJPKzyyQveXNOuN+/8+Lrrfx2IrNRvxUl2IhrkC2R6zone0 G0mdW6pZwa93nDGo+YBkNUK8uQqPiFcaJvQBCN5r/ez8JWvLLqqGaZ/n9mtrEP0bGTCI GZAA== X-Gm-Message-State: AOJu0YyGGJhAmzrUXGUM7HGQlBFkrnQ5Kg8tu88MeHRRy3kcEyPdctpH tLMWG4olLcksIUnvguslPSC5YDR5jCurzLu7ULQmljOitZ0BZUHeNsDse7D5s0Bljg== X-Google-Smtp-Source: AGHT+IH9+o39sG/DgXf0V/9QwLKyyE0JJUVDBAwxdOj19mUlwaLxMXSaPn4S+1fGCYkc1PNxPpTOwQ== X-Received: by 2002:a5d:6884:0:b0:341:ba31:b8ba with SMTP id h4-20020a5d6884000000b00341ba31b8bamr652786wru.57.1711164454412; Fri, 22 Mar 2024 20:27:34 -0700 (PDT) Received: from [192.168.1.107] ([152.37.81.238]) by smtp.gmail.com with ESMTPSA id o3-20020a5d62c3000000b0033ec94c6277sm3395042wrv.115.2024.03.22.20.27.34 for <bug-gnu-emacs@HIDDEN> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 22 Mar 2024 20:27:34 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------FC1YIPa7vzN0xtAIFs4GoH4r" Message-ID: <9378099f-76e1-45b4-8e4d-0f077cb28307@HIDDEN> Date: Sat, 23 Mar 2024 03:27:34 +0000 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-GB From: Sergey Vinokurov <serg.foo@HIDDEN> Received-SPF: pass client-ip=2a00:1450:4864:20::431; envelope-from=serg.foo@HIDDEN; helo=mail-wr1-x431.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.3 (--) This is a multi-part message in MIME format. --------------FC1YIPa7vzN0xtAIFs4GoH4r Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hello, I noticed that emacs-module.c contains duplicate module_non_local_exit_check() checks and module_assert_thread/module_assert_env asserts, mostly performed at the same point in program sequentially. The module_non_local_exit_check() checks happen in MODULE_HANDLE_NONLOCAL_EXIT and MODULE_FUNCTION_BEGIN_NO_CATCH macros. The MODULE_HANDLE_NONLOCAL_EXIT is never used by itself, only as part of MODULE_FUNCTION_BEGIN which starts with MODULE_FUNCTION_BEGIN_NO_CATCH that performs the check. In addition, there're 6 "Implementation of runtime and environment functions" rules outlined where MODULE_HANDLE_NONLOCAL_EXIT should be called at step 4 but module_non_local_exit_check() is supposed to have already happened at step 3 so documentation does not seem to intend for the check to be repeated in MODULE_HANDLE_NONLOCAL_EXIT. Regarding asserts my observation is that module_non_local_exit_check() already contains module_assert_thread and module_assert_env so there's no need to do asserts if first thing we do is call module_non_local_exit_check. Regards, Sergey --------------FC1YIPa7vzN0xtAIFs4GoH4r Content-Type: text/x-patch; charset=UTF-8; name="0001-Remove-duplicated-asserts-and-checks.patch" Content-Disposition: attachment; filename="0001-Remove-duplicated-asserts-and-checks.patch" Content-Transfer-Encoding: base64 RnJvbSA4Yzg1MTZlZTQ4Njk2OTBkMGQ5NDE4YjI2ZDRmYWU5MDUyMGM5ODYwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBTZXJnZXkgVmlub2t1cm92IDxzZXJnLmZvb0BnbWFp bC5jb20+CkRhdGU6IFNhdCwgMjMgTWFyIDIwMjQgMDI6MTU6MDYgKzAwMDAKU3ViamVjdDog W1BBVENIXSBSZW1vdmUgZHVwbGljYXRlZCBhc3NlcnRzIGFuZCBjaGVja3MKCiogc3JjL2Vt YWNzLW1vZHVsZS5jIChNT0RVTEVfSEFORExFX05PTkxPQ0FMX0VYSVQpOiBSZW1vdmUgcmVk dW5kYW50IGNoZWNrCiogc3JjL2VtYWNzLW1vZHVsZS5jIChNT0RVTEVfRlVOQ1RJT05fQkVH SU5fTk9fQ0FUQ0gpOiBSZW1vdmUgcmVkdW5kYW50IGFzc2VydAoqIHNyYy9lbWFjcy1tb2R1 bGUuYyAobW9kdWxlX25vbl9sb2NhbF9leGl0X3NpZ25hbCk6IFJlbW92ZSByZWR1bmRhbnQg YXNzZXJ0Ciogc3JjL2VtYWNzLW1vZHVsZS5jIChtb2R1bGVfbm9uX2xvY2FsX2V4aXRfdGhy b3cpOiBSZW1vdmUgcmVkdW5kYW50IGFzc2VydAotLS0KIHNyYy9lbWFjcy1tb2R1bGUuYyB8 IDggLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL3NyYy9lbWFjcy1tb2R1bGUuYyBiL3NyYy9lbWFjcy1tb2R1bGUuYwppbmRleCAwOGRi MzliMGIwZC4uZmJlZWIxNDZhNjggMTAwNjQ0Ci0tLSBhL3NyYy9lbWFjcy1tb2R1bGUuYwor KysgYi9zcmMvZW1hY3MtbW9kdWxlLmMKQEAgLTI2NCw4ICsyNjQsNiBAQCBtb2R1bGVfZGVj b2RlX3V0Zl84IChjb25zdCBjaGFyICpzdHIsIHB0cmRpZmZfdCBsZW4pCiAvKiBUT0RPOiBN YWtlIGJhY2t0cmFjZXMgd29yayBpZiB0aGlzIG1hY3JvIGlzIHVzZWQuICAqLwogCiAjZGVm aW5lIE1PRFVMRV9IQU5ETEVfTk9OTE9DQUxfRVhJVChyZXR2YWwpICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcCi0gIGlmIChtb2R1bGVfbm9uX2xvY2FsX2V4aXRfY2hlY2sgKGVu dikgIT0gZW1hY3NfZnVuY2FsbF9leGl0X3JldHVybikJXAotICAgIHJldHVybiByZXR2YWw7 CQkJCQkJCVwKICAgc3RydWN0IGhhbmRsZXIgKmludGVybmFsX2hhbmRsZXIgPSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBwdXNoX2hhbmRsZXJfbm9zaWdu YWwgKFF0LCBDQVRDSEVSX0FMTCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAg aWYgKCFpbnRlcm5hbF9oYW5kbGVyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFwKQEAgLTMzMiw4ICszMzAsNiBAQCAjZGVmaW5lIE1PRFVMRV9J TlRFUk5BTF9DTEVBTlVQKCkJCVwKIAogI2RlZmluZSBNT0RVTEVfRlVOQ1RJT05fQkVHSU5f Tk9fQ0FUQ0goZXJyb3JfcmV0dmFsKSAgICAgICAgICAgICAgICAgICAgXAogICBkbyB7ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXAotICAgIG1vZHVsZV9hc3NlcnRfdGhyZWFkICgpOyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIG1vZHVsZV9hc3NlcnRfZW52 IChlbnYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAog ICAgIGlmIChtb2R1bGVfbm9uX2xvY2FsX2V4aXRfY2hlY2sgKGVudikgIT0gZW1hY3NfZnVu Y2FsbF9leGl0X3JldHVybikgXAogICAgICAgcmV0dXJuIGVycm9yX3JldHZhbDsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICB9IHdoaWxlIChm YWxzZSkKQEAgLTUyMyw4ICs1MTksNiBAQCBtb2R1bGVfbm9uX2xvY2FsX2V4aXRfZ2V0IChl bWFjc19lbnYgKmVudiwKIG1vZHVsZV9ub25fbG9jYWxfZXhpdF9zaWduYWwgKGVtYWNzX2Vu diAqZW52LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW1hY3NfdmFsdWUgc3lt Ym9sLCBlbWFjc192YWx1ZSBkYXRhKQogewotICBtb2R1bGVfYXNzZXJ0X3RocmVhZCAoKTsK LSAgbW9kdWxlX2Fzc2VydF9lbnYgKGVudik7CiAgIGlmIChtb2R1bGVfbm9uX2xvY2FsX2V4 aXRfY2hlY2sgKGVudikgPT0gZW1hY3NfZnVuY2FsbF9leGl0X3JldHVybikKICAgICBtb2R1 bGVfbm9uX2xvY2FsX2V4aXRfc2lnbmFsXzEgKGVudiwgdmFsdWVfdG9fbGlzcCAoc3ltYm9s KSwKIAkJCQkgICAgdmFsdWVfdG9fbGlzcCAoZGF0YSkpOwpAQCAtNTMzLDggKzUyNyw2IEBA IG1vZHVsZV9ub25fbG9jYWxfZXhpdF9zaWduYWwgKGVtYWNzX2VudiAqZW52LAogc3RhdGlj IHZvaWQKIG1vZHVsZV9ub25fbG9jYWxfZXhpdF90aHJvdyAoZW1hY3NfZW52ICplbnYsIGVt YWNzX3ZhbHVlIHRhZywgZW1hY3NfdmFsdWUgdmFsdWUpCiB7Ci0gIG1vZHVsZV9hc3NlcnRf dGhyZWFkICgpOwotICBtb2R1bGVfYXNzZXJ0X2VudiAoZW52KTsKICAgaWYgKG1vZHVsZV9u b25fbG9jYWxfZXhpdF9jaGVjayAoZW52KSA9PSBlbWFjc19mdW5jYWxsX2V4aXRfcmV0dXJu KQogICAgIG1vZHVsZV9ub25fbG9jYWxfZXhpdF90aHJvd18xIChlbnYsIHZhbHVlX3RvX2xp c3AgKHRhZyksCiAJCQkJICAgdmFsdWVfdG9fbGlzcCAodmFsdWUpKTsKLS0gCjIuNDMuMQoK --------------FC1YIPa7vzN0xtAIFs4GoH4r--
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Sergey Vinokurov <serg.foo@HIDDEN> Subject: bug#69953: Acknowledgement ([PATCH] Remove duplicated asserts and checks) Message-ID: <handler.69953.B.171116450131544.ack <at> debbugs.gnu.org> References: <9378099f-76e1-45b4-8e4d-0f077cb28307@HIDDEN> X-Gnu-PR-Message: ack 69953 X-Gnu-PR-Package: emacs X-Gnu-PR-Keywords: patch Reply-To: 69953 <at> debbugs.gnu.org Date: Sat, 23 Mar 2024 03:29:02 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): bug-gnu-emacs@HIDDEN If you wish to submit further information on this problem, please send it to 69953 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 69953: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D69953 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
X-Loop: help-debbugs@HIDDEN Subject: bug#69953: [PATCH] Remove duplicated asserts and checks Resent-From: Eli Zaretskii <eliz@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Sat, 23 Mar 2024 07:16:02 +0000 Resent-Message-ID: <handler.69953.B69953.17111781567770 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 69953 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Sergey Vinokurov <serg.foo@HIDDEN> Cc: Philipp Stephani <phst@HIDDEN>, 69953 <at> debbugs.gnu.org, Daniel Colascione <dancol@HIDDEN> Received: via spool by 69953-submit <at> debbugs.gnu.org id=B69953.17111781567770 (code B ref 69953); Sat, 23 Mar 2024 07:16:02 +0000 Received: (at 69953) by debbugs.gnu.org; 23 Mar 2024 07:15:56 +0000 Received: from localhost ([127.0.0.1]:59388 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rnvbg-00021E-BC for submit <at> debbugs.gnu.org; Sat, 23 Mar 2024 03:15:56 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46772) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1rnvbd-00020s-Ih for 69953 <at> debbugs.gnu.org; Sat, 23 Mar 2024 03:15:55 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1rnvas-0000t4-D9; Sat, 23 Mar 2024 03:15:06 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=8kW4VeSIzFPtBux64Gcva3sc1ExNKktbK3v+BD5mS5k=; b=kdY0L/sBwjvp uPkiogCYyP5Vr4MTIYFc7cEFLzkayRgB/MUyRsaRYuNI+KoQHYZZptaPPTKIClEFuU5zWh3vBSKMG WlEKtV+njLeXJJMHp41UOyHQSHOc1lEjaDONTXE03sKy+DSvqjqd+NVo97Udqwm91IZUzDU352DuY +ie2R2F3tNofRz86Aa6HSRUTeGR93gMAbdUKXiRZHp8Jmz+/OPYL9xkWYYHFisJNoKMt6O4jLvGD7 XrmRjHMtyV1ZZrW7ePSczOTIAbhGV6M6BevY4eR002tjhLActWp26cqLo7VdGAtHrmo6muJ0WJSD7 kQmczllEPEvqxDtLrLiElw==; Date: Sat, 23 Mar 2024 09:15:04 +0200 Message-Id: <86o7b5zafb.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> In-Reply-To: <9378099f-76e1-45b4-8e4d-0f077cb28307@HIDDEN> (message from Sergey Vinokurov on Sat, 23 Mar 2024 03:27:34 +0000) References: <9378099f-76e1-45b4-8e4d-0f077cb28307@HIDDEN> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Date: Sat, 23 Mar 2024 03:27:34 +0000 > From: Sergey Vinokurov <serg.foo@HIDDEN> > > I noticed that emacs-module.c contains duplicate > module_non_local_exit_check() checks and > module_assert_thread/module_assert_env asserts, mostly performed at the > same point in program sequentially. > > The module_non_local_exit_check() checks happen in > MODULE_HANDLE_NONLOCAL_EXIT and MODULE_FUNCTION_BEGIN_NO_CATCH macros. > The MODULE_HANDLE_NONLOCAL_EXIT is never used by itself, only as part of > MODULE_FUNCTION_BEGIN which starts with MODULE_FUNCTION_BEGIN_NO_CATCH > that performs the check. > > In addition, there're 6 "Implementation of runtime and environment > functions" rules outlined where MODULE_HANDLE_NONLOCAL_EXIT should be > called at step 4 but module_non_local_exit_check() is supposed to have > already happened at step 3 so documentation does not seem to intend for > the check to be repeated in MODULE_HANDLE_NONLOCAL_EXIT. > > Regarding asserts my observation is that module_non_local_exit_check() > already contains module_assert_thread and module_assert_env so there's > no need to do asserts if first thing we do is call > module_non_local_exit_check. Thanks, but why is that a problem? module_assertions is false by default, and the function to turn on module assertions is not even documented in the ELisp manual. IOW, this is a debugging aid which will rarely if at all activated, and if it is, that's on purpose by the programmer who is investigating some tricky problem. Why is it a problem to have too many assertions, which might help that programmer find a bug? I added Daniel and Philipp to the discussion, in case they have comments to this proposal.
X-Loop: help-debbugs@HIDDEN Subject: bug#69953: [PATCH] Remove duplicated asserts and checks Resent-From: Sergey Vinokurov <serg.foo@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Sat, 23 Mar 2024 12:41:01 +0000 Resent-Message-ID: <handler.69953.B69953.171119762812732 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 69953 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii <eliz@HIDDEN> Cc: Philipp Stephani <phst@HIDDEN>, 69953 <at> debbugs.gnu.org, Daniel Colascione <dancol@HIDDEN> Received: via spool by 69953-submit <at> debbugs.gnu.org id=B69953.171119762812732 (code B ref 69953); Sat, 23 Mar 2024 12:41:01 +0000 Received: (at 69953) by debbugs.gnu.org; 23 Mar 2024 12:40:28 +0000 Received: from localhost ([127.0.0.1]:52375 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1ro0fj-0003JI-VM for submit <at> debbugs.gnu.org; Sat, 23 Mar 2024 08:40:28 -0400 Received: from mail-lj1-f180.google.com ([209.85.208.180]:44236) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <serg.foo@HIDDEN>) id 1ro0fi-0003It-7A for 69953 <at> debbugs.gnu.org; Sat, 23 Mar 2024 08:40:27 -0400 Received: by mail-lj1-f180.google.com with SMTP id 38308e7fff4ca-2d24a727f78so34951231fa.0 for <69953 <at> debbugs.gnu.org>; Sat, 23 Mar 2024 05:39:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1711197519; x=1711802319; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=cbb91R8u+ruVofUJTVOcBW8DUzD7f69oPwfqDXB9c3M=; b=EDqdC6YvDkQKLQzc54q35QBjKskb2REYVcuAdOqKa2sAfMrOmOcnjTnvqbOj60d2zC fpKlmEVLvkGeVppCls6gLIg+oMtMsPlsNgjfeNiH1H6S1uAa6H4y5qDFLz9ID0rT99ka XceR5HtyG6otvoBW/TcTxlc+p/HfjpWZvijRuu37QFHU23oF3s5pV6CTFhyDTb1v145e b/WXvCfCGmf1q96kTrxU6DVaeaP9BnWkE2tDxaUicx7Tdt8cVyskFsGGJLj0FhDTKCwp u0ZX1YisBIRiNtLq9QQBbioKbPAZx/c/XRL+gQlG/X2ME/xyweOiMZJYLyKWll+MJ/7L 25Eg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711197519; x=1711802319; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=cbb91R8u+ruVofUJTVOcBW8DUzD7f69oPwfqDXB9c3M=; b=udqrnC7I+7MmIbOH1lVnYYhh0s3sa5S6b61YZ4S95H5mjX7d3qI+FNgWO/aDiSYTHi 6HzivzQTre2mbEmFESSZTzQvroPKdmnhDmJSrjgBPVjZaB2wHBMajwP3TCJg99SY7w0F tgb64imcG2oD/xzg0gXTr14gHFhV5Gqz/TyqqvLXCs2KY9pvW/LmeZKAv0k8/yLHHRct yCs1Acf5MIkWo7vsvne85ps+cKw4xgtFG0h9luoj1scKP3NXVbJzb1DiZpHytgG+ycdC ACEFMKC2FT8m8y9gnv7NsgBrN3F2h35wgCOojqgfA4XlZaoLFLuxiP8EPyAlzz5JJbIi /R2A== X-Gm-Message-State: AOJu0Yw5IUChDe4Rawqi4oWCbZl/FGl19q49wuiHrqGpbg9IQVDk05yn CX0fbLx8MEoeVChqu74ywYGFd8JCdsPEGWqgu2Qow7ekkkZ1hjYj X-Google-Smtp-Source: AGHT+IH5kY4tqcu0Hk3xk7mGBFeYumCAL5ZSQs1w1UykTobKxUwoZQS4G0cTyhDd9gpUPOFV7G2P4w== X-Received: by 2002:a2e:9203:0:b0:2d4:6c1a:ee6f with SMTP id k3-20020a2e9203000000b002d46c1aee6fmr1429485ljg.35.1711197518668; Sat, 23 Mar 2024 05:38:38 -0700 (PDT) Received: from [192.168.1.107] ([152.37.81.238]) by smtp.gmail.com with ESMTPSA id z15-20020a05600c0a0f00b004146b00cd9csm2410715wmp.11.2024.03.23.05.38.38 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 23 Mar 2024 05:38:38 -0700 (PDT) Message-ID: <bed54324-755b-4275-b0ff-a31f0d91042c@HIDDEN> Date: Sat, 23 Mar 2024 12:38:37 +0000 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-GB References: <9378099f-76e1-45b4-8e4d-0f077cb28307@HIDDEN> <86o7b5zafb.fsf@HIDDEN> From: Sergey Vinokurov <serg.foo@HIDDEN> In-Reply-To: <86o7b5zafb.fsf@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) The issue is that the same thing is being checked just after it was checked. The checks I propose to remove are not going to catch any new errors under any possible scenario. Even with module_assertions disabled, the assert functions are still called - a very minor annoyance. On 23/03/2024 07:15, Eli Zaretskii wrote: >> Date: Sat, 23 Mar 2024 03:27:34 +0000 >> From: Sergey Vinokurov <serg.foo@HIDDEN> >> >> I noticed that emacs-module.c contains duplicate >> module_non_local_exit_check() checks and >> module_assert_thread/module_assert_env asserts, mostly performed at the >> same point in program sequentially. >> >> The module_non_local_exit_check() checks happen in >> MODULE_HANDLE_NONLOCAL_EXIT and MODULE_FUNCTION_BEGIN_NO_CATCH macros. >> The MODULE_HANDLE_NONLOCAL_EXIT is never used by itself, only as part of >> MODULE_FUNCTION_BEGIN which starts with MODULE_FUNCTION_BEGIN_NO_CATCH >> that performs the check. >> >> In addition, there're 6 "Implementation of runtime and environment >> functions" rules outlined where MODULE_HANDLE_NONLOCAL_EXIT should be >> called at step 4 but module_non_local_exit_check() is supposed to have >> already happened at step 3 so documentation does not seem to intend for >> the check to be repeated in MODULE_HANDLE_NONLOCAL_EXIT. >> >> Regarding asserts my observation is that module_non_local_exit_check() >> already contains module_assert_thread and module_assert_env so there's >> no need to do asserts if first thing we do is call >> module_non_local_exit_check. > > Thanks, but why is that a problem? module_assertions is false by > default, and the function to turn on module assertions is not even > documented in the ELisp manual. IOW, this is a debugging aid which > will rarely if at all activated, and if it is, that's on purpose by > the programmer who is investigating some tricky problem. Why is it a > problem to have too many assertions, which might help that programmer > find a bug? > > I added Daniel and Philipp to the discussion, in case they have > comments to this proposal.
X-Loop: help-debbugs@HIDDEN Subject: bug#69953: [PATCH] Remove duplicated asserts and checks Resent-From: Eli Zaretskii <eliz@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Sat, 13 Apr 2024 07:44:06 +0000 Resent-Message-ID: <handler.69953.B69953.171299419517046 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 69953 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: phst@HIDDEN, dancol@HIDDEN Cc: serg.foo@HIDDEN, 69953 <at> debbugs.gnu.org Received: via spool by 69953-submit <at> debbugs.gnu.org id=B69953.171299419517046 (code B ref 69953); Sat, 13 Apr 2024 07:44:06 +0000 Received: (at 69953) by debbugs.gnu.org; 13 Apr 2024 07:43:15 +0000 Received: from localhost ([127.0.0.1]:60010 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rvY2c-0004Qr-Hy for submit <at> debbugs.gnu.org; Sat, 13 Apr 2024 03:43:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44586) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1rvY2Z-0004P5-7K for 69953 <at> debbugs.gnu.org; Sat, 13 Apr 2024 03:43:12 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1rvY2H-0003FM-RN; Sat, 13 Apr 2024 03:42:55 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=CIr7I5iatQH04uOfHowH1dXU9RT+4WQ4UgfeTuBai44=; b=BGGiAUVN5oQE zgpGo1jbsQHX0XA4GgBxliHbkdy1wd5JL3cjYuTKCofxPoXaC6SMF5XQQC5nbmnwAZRb3ugbgnZrf RAlRhzcfBrL4MBpAEIhwylK1BItFuGa8F8ONkfDJ5rq/2cv27CFj4FFLOoL2JhxVZaD1kgT9ZXI6u vd3M66r3kIn/FmiMDF1zUTqT6G5ACLDzkPcwdOq4jkMp183YM2t+pxiuI0TaH9qIWc51lsqvifkdY 4ApzJy05yNRcTgZzD6hIqN072Hvur4uj3sobd/XQ3GxEy+HuAap+8U4scB92e/P/Rv0cU4hO2eWQz KaDLbPBFTUCT6m1ZAlB3Kw==; Date: Sat, 13 Apr 2024 10:42:50 +0300 Message-Id: <86jzl1r9mt.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> In-Reply-To: <86o7b5zafb.fsf@HIDDEN> (message from Eli Zaretskii on Sat, 23 Mar 2024 09:15:04 +0200) References: <9378099f-76e1-45b4-8e4d-0f077cb28307@HIDDEN> <86o7b5zafb.fsf@HIDDEN> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Ping! Philipp and Daniel, do you have any comments on this? > Cc: Philipp Stephani <phst@HIDDEN>, 69953 <at> debbugs.gnu.org, > Daniel Colascione <dancol@HIDDEN> > Date: Sat, 23 Mar 2024 09:15:04 +0200 > From: Eli Zaretskii <eliz@HIDDEN> > > > Date: Sat, 23 Mar 2024 03:27:34 +0000 > > From: Sergey Vinokurov <serg.foo@HIDDEN> > > > > I noticed that emacs-module.c contains duplicate > > module_non_local_exit_check() checks and > > module_assert_thread/module_assert_env asserts, mostly performed at the > > same point in program sequentially. > > > > The module_non_local_exit_check() checks happen in > > MODULE_HANDLE_NONLOCAL_EXIT and MODULE_FUNCTION_BEGIN_NO_CATCH macros. > > The MODULE_HANDLE_NONLOCAL_EXIT is never used by itself, only as part of > > MODULE_FUNCTION_BEGIN which starts with MODULE_FUNCTION_BEGIN_NO_CATCH > > that performs the check. > > > > In addition, there're 6 "Implementation of runtime and environment > > functions" rules outlined where MODULE_HANDLE_NONLOCAL_EXIT should be > > called at step 4 but module_non_local_exit_check() is supposed to have > > already happened at step 3 so documentation does not seem to intend for > > the check to be repeated in MODULE_HANDLE_NONLOCAL_EXIT. > > > > Regarding asserts my observation is that module_non_local_exit_check() > > already contains module_assert_thread and module_assert_env so there's > > no need to do asserts if first thing we do is call > > module_non_local_exit_check. > > Thanks, but why is that a problem? module_assertions is false by > default, and the function to turn on module assertions is not even > documented in the ELisp manual. IOW, this is a debugging aid which > will rarely if at all activated, and if it is, that's on purpose by > the programmer who is investigating some tricky problem. Why is it a > problem to have too many assertions, which might help that programmer > find a bug? > > I added Daniel and Philipp to the discussion, in case they have > comments to this proposal. > > > >
X-Loop: help-debbugs@HIDDEN Subject: bug#69953: [PATCH] Remove duplicated asserts and checks Resent-From: Eli Zaretskii <eliz@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Sat, 27 Apr 2024 08:29:04 +0000 Resent-Message-ID: <handler.69953.B69953.171420649526335 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 69953 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Philipp Stephani <p.stephani2@HIDDEN>, dancol@HIDDEN Cc: serg.foo@HIDDEN, 69953 <at> debbugs.gnu.org Received: via spool by 69953-submit <at> debbugs.gnu.org id=B69953.171420649526335 (code B ref 69953); Sat, 27 Apr 2024 08:29:04 +0000 Received: (at 69953) by debbugs.gnu.org; 27 Apr 2024 08:28:15 +0000 Received: from localhost ([127.0.0.1]:38877 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1s0dPq-0006qf-Of for submit <at> debbugs.gnu.org; Sat, 27 Apr 2024 04:28:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56818) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1s0dPl-0006ot-7S for 69953 <at> debbugs.gnu.org; Sat, 27 Apr 2024 04:28:12 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1s0dPN-0001bv-36; Sat, 27 Apr 2024 04:27:45 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=/2QfUgfLc6Lb4Fk7xJvuXA8Zyymp41XkjAEWrcRi/S8=; b=N1RnDcwCfQQR leZvfLauGPXL8EP9nW3GFAVWVM9dv9nJnIH91PhseXKTori2ePkR7YASpONY5TBT9sCeoer+R1uGj jsYHMyfsaN+M92k7tSEQQO04Goa9RAKh4M+EuzjUdGAelGmYjP2MLPiwM8cAg4OmYciCJMtecTIAV O01LJwOG+FWy3LtZ2vAcKSMlFztBGP/x8ZZQFh2Gxtsu/Q9qhzxRfq73id9g3QJk9QIzfq+Kwcc0Y dld2wJtIXxe3kafhXOJTuIta2ep7yRDCplInC0Hip+9XPd6iUK2jt1epGw1qYwHS6hVOtq0KH9KVm PdoPxLgbKCxOyqRA8NjLSw==; Date: Sat, 27 Apr 2024 11:27:41 +0300 Message-Id: <86r0erw6pu.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> In-Reply-To: <86jzl1r9mt.fsf@HIDDEN> (message from Eli Zaretskii on Sat, 13 Apr 2024 10:42:50 +0300) References: <9378099f-76e1-45b4-8e4d-0f077cb28307@HIDDEN> <86o7b5zafb.fsf@HIDDEN> <86jzl1r9mt.fsf@HIDDEN> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Ping! Ping! Philipp and Daniel, any comments? > Cc: serg.foo@HIDDEN, 69953 <at> debbugs.gnu.org > Date: Sat, 13 Apr 2024 10:42:50 +0300 > From: Eli Zaretskii <eliz@HIDDEN> > > Ping! Philipp and Daniel, do you have any comments on this? > > > Cc: Philipp Stephani <phst@HIDDEN>, 69953 <at> debbugs.gnu.org, > > Daniel Colascione <dancol@HIDDEN> > > Date: Sat, 23 Mar 2024 09:15:04 +0200 > > From: Eli Zaretskii <eliz@HIDDEN> > > > > > Date: Sat, 23 Mar 2024 03:27:34 +0000 > > > From: Sergey Vinokurov <serg.foo@HIDDEN> > > > > > > I noticed that emacs-module.c contains duplicate > > > module_non_local_exit_check() checks and > > > module_assert_thread/module_assert_env asserts, mostly performed at the > > > same point in program sequentially. > > > > > > The module_non_local_exit_check() checks happen in > > > MODULE_HANDLE_NONLOCAL_EXIT and MODULE_FUNCTION_BEGIN_NO_CATCH macros. > > > The MODULE_HANDLE_NONLOCAL_EXIT is never used by itself, only as part of > > > MODULE_FUNCTION_BEGIN which starts with MODULE_FUNCTION_BEGIN_NO_CATCH > > > that performs the check. > > > > > > In addition, there're 6 "Implementation of runtime and environment > > > functions" rules outlined where MODULE_HANDLE_NONLOCAL_EXIT should be > > > called at step 4 but module_non_local_exit_check() is supposed to have > > > already happened at step 3 so documentation does not seem to intend for > > > the check to be repeated in MODULE_HANDLE_NONLOCAL_EXIT. > > > > > > Regarding asserts my observation is that module_non_local_exit_check() > > > already contains module_assert_thread and module_assert_env so there's > > > no need to do asserts if first thing we do is call > > > module_non_local_exit_check. > > > > Thanks, but why is that a problem? module_assertions is false by > > default, and the function to turn on module assertions is not even > > documented in the ELisp manual. IOW, this is a debugging aid which > > will rarely if at all activated, and if it is, that's on purpose by > > the programmer who is investigating some tricky problem. Why is it a > > problem to have too many assertions, which might help that programmer > > find a bug? > > > > I added Daniel and Philipp to the discussion, in case they have > > comments to this proposal. > > > > > > > > > > > >
X-Loop: help-debbugs@HIDDEN Subject: bug#69953: [PATCH] Remove duplicated asserts and checks Resent-From: Eli Zaretskii <eliz@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Thu, 09 May 2024 07:26:01 +0000 Resent-Message-ID: <handler.69953.B69953.171523953227512 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 69953 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: p.stephani2@HIDDEN, dancol@HIDDEN, serg.foo@HIDDEN Cc: 69953 <at> debbugs.gnu.org Received: via spool by 69953-submit <at> debbugs.gnu.org id=B69953.171523953227512 (code B ref 69953); Thu, 09 May 2024 07:26:01 +0000 Received: (at 69953) by debbugs.gnu.org; 9 May 2024 07:25:32 +0000 Received: from localhost ([127.0.0.1]:53621 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1s4y9j-00079f-JR for submit <at> debbugs.gnu.org; Thu, 09 May 2024 03:25:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59404) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1s4y9h-00079S-O6; Thu, 09 May 2024 03:25:30 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1s4y9C-0007l5-1w; Thu, 09 May 2024 03:24:58 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=bzmSWtSgj9o1UKbzZFO8fPsr/wHQvVBHqAWoTorFR3c=; b=acq1I6N6ygBu wt4itwX7MsIrIm9A0eKbJRg/1rzA2LfvpoKWl6T3vfi2SkawHASVEiBAuMlaIqSo1Iq6TIW+rVCTW xr38KxS6E2G8RIMjc/T2ocALWeDSx6zakP9wGNtFJzBuqBUL8NInicCH6WN/8PVSOxq0G8czKa+dx lzGYyrF4jvA+KLDJpNxzAbf/AlM9NShrw9FwQm6Xij8Wtc7Yedi2GRuEcn3S95dd3kvofAc5LfoKR p1te2QM1cKJf5BOxKDSpNDRcideddiIxFg0R4J7KNvOVWlIVhHu7pnEMUeIUxljV0Tw6dXmC8duX3 d5SokoFR1F5micI5+Ro2pg==; Date: Thu, 09 May 2024 10:24:56 +0300 Message-Id: <86wmo378hj.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> In-Reply-To: <86r0erw6pu.fsf@HIDDEN> (message from Eli Zaretskii on Sat, 27 Apr 2024 11:27:41 +0300) References: <9378099f-76e1-45b4-8e4d-0f077cb28307@HIDDEN> <86o7b5zafb.fsf@HIDDEN> <86jzl1r9mt.fsf@HIDDEN> <86r0erw6pu.fsf@HIDDEN> X-Spam-Score: -2.1 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.1 (---) tags 69953 wontfix close 69953 thanks > Cc: serg.foo@HIDDEN, 69953 <at> debbugs.gnu.org > Date: Sat, 27 Apr 2024 11:27:41 +0300 > From: Eli Zaretskii <eliz@HIDDEN> > > Ping! Ping! Philipp and Daniel, any comments? > > > Cc: serg.foo@HIDDEN, 69953 <at> debbugs.gnu.org > > Date: Sat, 13 Apr 2024 10:42:50 +0300 > > From: Eli Zaretskii <eliz@HIDDEN> > > > > Ping! Philipp and Daniel, do you have any comments on this? > > > > > Cc: Philipp Stephani <phst@HIDDEN>, 69953 <at> debbugs.gnu.org, > > > Daniel Colascione <dancol@HIDDEN> > > > Date: Sat, 23 Mar 2024 09:15:04 +0200 > > > From: Eli Zaretskii <eliz@HIDDEN> > > > > > > > Date: Sat, 23 Mar 2024 03:27:34 +0000 > > > > From: Sergey Vinokurov <serg.foo@HIDDEN> > > > > > > > > I noticed that emacs-module.c contains duplicate > > > > module_non_local_exit_check() checks and > > > > module_assert_thread/module_assert_env asserts, mostly performed at the > > > > same point in program sequentially. > > > > > > > > The module_non_local_exit_check() checks happen in > > > > MODULE_HANDLE_NONLOCAL_EXIT and MODULE_FUNCTION_BEGIN_NO_CATCH macros. > > > > The MODULE_HANDLE_NONLOCAL_EXIT is never used by itself, only as part of > > > > MODULE_FUNCTION_BEGIN which starts with MODULE_FUNCTION_BEGIN_NO_CATCH > > > > that performs the check. > > > > > > > > In addition, there're 6 "Implementation of runtime and environment > > > > functions" rules outlined where MODULE_HANDLE_NONLOCAL_EXIT should be > > > > called at step 4 but module_non_local_exit_check() is supposed to have > > > > already happened at step 3 so documentation does not seem to intend for > > > > the check to be repeated in MODULE_HANDLE_NONLOCAL_EXIT. > > > > > > > > Regarding asserts my observation is that module_non_local_exit_check() > > > > already contains module_assert_thread and module_assert_env so there's > > > > no need to do asserts if first thing we do is call > > > > module_non_local_exit_check. > > > > > > Thanks, but why is that a problem? module_assertions is false by > > > default, and the function to turn on module assertions is not even > > > documented in the ELisp manual. IOW, this is a debugging aid which > > > will rarely if at all activated, and if it is, that's on purpose by > > > the programmer who is investigating some tricky problem. Why is it a > > > problem to have too many assertions, which might help that programmer > > > find a bug? > > > > > > I added Daniel and Philipp to the discussion, in case they have > > > comments to this proposal. Given the lack of comments, I conclude that there's no interest in installing this, and I'm therefore closing this bug.
Received: (at control) by debbugs.gnu.org; 9 May 2024 07:25:32 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 09 03:25:32 2024 Received: from localhost ([127.0.0.1]:53623 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1s4y9k-00079h-1W for submit <at> debbugs.gnu.org; Thu, 09 May 2024 03:25:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59404) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1s4y9h-00079S-O6; Thu, 09 May 2024 03:25:30 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1s4y9C-0007l5-1w; Thu, 09 May 2024 03:24:58 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=bzmSWtSgj9o1UKbzZFO8fPsr/wHQvVBHqAWoTorFR3c=; b=acq1I6N6ygBu wt4itwX7MsIrIm9A0eKbJRg/1rzA2LfvpoKWl6T3vfi2SkawHASVEiBAuMlaIqSo1Iq6TIW+rVCTW xr38KxS6E2G8RIMjc/T2ocALWeDSx6zakP9wGNtFJzBuqBUL8NInicCH6WN/8PVSOxq0G8czKa+dx lzGYyrF4jvA+KLDJpNxzAbf/AlM9NShrw9FwQm6Xij8Wtc7Yedi2GRuEcn3S95dd3kvofAc5LfoKR p1te2QM1cKJf5BOxKDSpNDRcideddiIxFg0R4J7KNvOVWlIVhHu7pnEMUeIUxljV0Tw6dXmC8duX3 d5SokoFR1F5micI5+Ro2pg==; Date: Thu, 09 May 2024 10:24:56 +0300 Message-Id: <86wmo378hj.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: p.stephani2@HIDDEN, dancol@HIDDEN, serg.foo@HIDDEN In-Reply-To: <86r0erw6pu.fsf@HIDDEN> (message from Eli Zaretskii on Sat, 27 Apr 2024 11:27:41 +0300) Subject: Re: bug#69953: [PATCH] Remove duplicated asserts and checks References: <9378099f-76e1-45b4-8e4d-0f077cb28307@HIDDEN> <86o7b5zafb.fsf@HIDDEN> <86jzl1r9mt.fsf@HIDDEN> <86r0erw6pu.fsf@HIDDEN> X-Spam-Score: -2.1 (--) X-Debbugs-Envelope-To: control Cc: 69953 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.1 (---) tags 69953 wontfix close 69953 thanks > Cc: serg.foo@HIDDEN, 69953 <at> debbugs.gnu.org > Date: Sat, 27 Apr 2024 11:27:41 +0300 > From: Eli Zaretskii <eliz@HIDDEN> > > Ping! Ping! Philipp and Daniel, any comments? > > > Cc: serg.foo@HIDDEN, 69953 <at> debbugs.gnu.org > > Date: Sat, 13 Apr 2024 10:42:50 +0300 > > From: Eli Zaretskii <eliz@HIDDEN> > > > > Ping! Philipp and Daniel, do you have any comments on this? > > > > > Cc: Philipp Stephani <phst@HIDDEN>, 69953 <at> debbugs.gnu.org, > > > Daniel Colascione <dancol@HIDDEN> > > > Date: Sat, 23 Mar 2024 09:15:04 +0200 > > > From: Eli Zaretskii <eliz@HIDDEN> > > > > > > > Date: Sat, 23 Mar 2024 03:27:34 +0000 > > > > From: Sergey Vinokurov <serg.foo@HIDDEN> > > > > > > > > I noticed that emacs-module.c contains duplicate > > > > module_non_local_exit_check() checks and > > > > module_assert_thread/module_assert_env asserts, mostly performed at the > > > > same point in program sequentially. > > > > > > > > The module_non_local_exit_check() checks happen in > > > > MODULE_HANDLE_NONLOCAL_EXIT and MODULE_FUNCTION_BEGIN_NO_CATCH macros. > > > > The MODULE_HANDLE_NONLOCAL_EXIT is never used by itself, only as part of > > > > MODULE_FUNCTION_BEGIN which starts with MODULE_FUNCTION_BEGIN_NO_CATCH > > > > that performs the check. > > > > > > > > In addition, there're 6 "Implementation of runtime and environment > > > > functions" rules outlined where MODULE_HANDLE_NONLOCAL_EXIT should be > > > > called at step 4 but module_non_local_exit_check() is supposed to have > > > > already happened at step 3 so documentation does not seem to intend for > > > > the check to be repeated in MODULE_HANDLE_NONLOCAL_EXIT. > > > > > > > > Regarding asserts my observation is that module_non_local_exit_check() > > > > already contains module_assert_thread and module_assert_env so there's > > > > no need to do asserts if first thing we do is call > > > > module_non_local_exit_check. > > > > > > Thanks, but why is that a problem? module_assertions is false by > > > default, and the function to turn on module assertions is not even > > > documented in the ELisp manual. IOW, this is a debugging aid which > > > will rarely if at all activated, and if it is, that's on purpose by > > > the programmer who is investigating some tricky problem. Why is it a > > > problem to have too many assertions, which might help that programmer > > > find a bug? > > > > > > I added Daniel and Philipp to the discussion, in case they have > > > comments to this proposal. Given the lack of comments, I conclude that there's no interest in installing this, and I'm therefore closing this bug.
Received: (at control) by debbugs.gnu.org; 9 May 2024 07:25:32 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 09 03:25:32 2024 Received: from localhost ([127.0.0.1]:53623 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1s4y9k-00079h-1W for submit <at> debbugs.gnu.org; Thu, 09 May 2024 03:25:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59404) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1s4y9h-00079S-O6; Thu, 09 May 2024 03:25:30 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1s4y9C-0007l5-1w; Thu, 09 May 2024 03:24:58 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=bzmSWtSgj9o1UKbzZFO8fPsr/wHQvVBHqAWoTorFR3c=; b=acq1I6N6ygBu wt4itwX7MsIrIm9A0eKbJRg/1rzA2LfvpoKWl6T3vfi2SkawHASVEiBAuMlaIqSo1Iq6TIW+rVCTW xr38KxS6E2G8RIMjc/T2ocALWeDSx6zakP9wGNtFJzBuqBUL8NInicCH6WN/8PVSOxq0G8czKa+dx lzGYyrF4jvA+KLDJpNxzAbf/AlM9NShrw9FwQm6Xij8Wtc7Yedi2GRuEcn3S95dd3kvofAc5LfoKR p1te2QM1cKJf5BOxKDSpNDRcideddiIxFg0R4J7KNvOVWlIVhHu7pnEMUeIUxljV0Tw6dXmC8duX3 d5SokoFR1F5micI5+Ro2pg==; Date: Thu, 09 May 2024 10:24:56 +0300 Message-Id: <86wmo378hj.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: p.stephani2@HIDDEN, dancol@HIDDEN, serg.foo@HIDDEN In-Reply-To: <86r0erw6pu.fsf@HIDDEN> (message from Eli Zaretskii on Sat, 27 Apr 2024 11:27:41 +0300) Subject: Re: bug#69953: [PATCH] Remove duplicated asserts and checks References: <9378099f-76e1-45b4-8e4d-0f077cb28307@HIDDEN> <86o7b5zafb.fsf@HIDDEN> <86jzl1r9mt.fsf@HIDDEN> <86r0erw6pu.fsf@HIDDEN> X-Spam-Score: -2.1 (--) X-Debbugs-Envelope-To: control Cc: 69953 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.1 (---) tags 69953 wontfix close 69953 thanks > Cc: serg.foo@HIDDEN, 69953 <at> debbugs.gnu.org > Date: Sat, 27 Apr 2024 11:27:41 +0300 > From: Eli Zaretskii <eliz@HIDDEN> > > Ping! Ping! Philipp and Daniel, any comments? > > > Cc: serg.foo@HIDDEN, 69953 <at> debbugs.gnu.org > > Date: Sat, 13 Apr 2024 10:42:50 +0300 > > From: Eli Zaretskii <eliz@HIDDEN> > > > > Ping! Philipp and Daniel, do you have any comments on this? > > > > > Cc: Philipp Stephani <phst@HIDDEN>, 69953 <at> debbugs.gnu.org, > > > Daniel Colascione <dancol@HIDDEN> > > > Date: Sat, 23 Mar 2024 09:15:04 +0200 > > > From: Eli Zaretskii <eliz@HIDDEN> > > > > > > > Date: Sat, 23 Mar 2024 03:27:34 +0000 > > > > From: Sergey Vinokurov <serg.foo@HIDDEN> > > > > > > > > I noticed that emacs-module.c contains duplicate > > > > module_non_local_exit_check() checks and > > > > module_assert_thread/module_assert_env asserts, mostly performed at the > > > > same point in program sequentially. > > > > > > > > The module_non_local_exit_check() checks happen in > > > > MODULE_HANDLE_NONLOCAL_EXIT and MODULE_FUNCTION_BEGIN_NO_CATCH macros. > > > > The MODULE_HANDLE_NONLOCAL_EXIT is never used by itself, only as part of > > > > MODULE_FUNCTION_BEGIN which starts with MODULE_FUNCTION_BEGIN_NO_CATCH > > > > that performs the check. > > > > > > > > In addition, there're 6 "Implementation of runtime and environment > > > > functions" rules outlined where MODULE_HANDLE_NONLOCAL_EXIT should be > > > > called at step 4 but module_non_local_exit_check() is supposed to have > > > > already happened at step 3 so documentation does not seem to intend for > > > > the check to be repeated in MODULE_HANDLE_NONLOCAL_EXIT. > > > > > > > > Regarding asserts my observation is that module_non_local_exit_check() > > > > already contains module_assert_thread and module_assert_env so there's > > > > no need to do asserts if first thing we do is call > > > > module_non_local_exit_check. > > > > > > Thanks, but why is that a problem? module_assertions is false by > > > default, and the function to turn on module assertions is not even > > > documented in the ELisp manual. IOW, this is a debugging aid which > > > will rarely if at all activated, and if it is, that's on purpose by > > > the programmer who is investigating some tricky problem. Why is it a > > > problem to have too many assertions, which might help that programmer > > > find a bug? > > > > > > I added Daniel and Philipp to the discussion, in case they have > > > comments to this proposal. Given the lack of comments, I conclude that there's no interest in installing this, and I'm therefore closing this bug.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.