From unknown Mon Sep 08 12:49:31 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#79305 <79305@debbugs.gnu.org> To: bug#79305 <79305@debbugs.gnu.org> Subject: Status: 31.0.50; MODE-set-explicitly change caused regressions in bind-map Reply-To: bug#79305 <79305@debbugs.gnu.org> Date: Mon, 08 Sep 2025 19:49:31 +0000 retitle 79305 31.0.50; MODE-set-explicitly change caused regressions in bin= d-map reassign 79305 emacs submitter 79305 Aaron Jensen severity 79305 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Sun Aug 24 18:18:04 2025 Received: (at submit) by debbugs.gnu.org; 24 Aug 2025 22:18:04 +0000 Received: from localhost ([127.0.0.1]:47279 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uqJ2J-0005d2-Nm for submit@debbugs.gnu.org; Sun, 24 Aug 2025 18:18:04 -0400 Received: from lists.gnu.org ([2001:470:142::17]:45458) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uqJ2H-0005cT-5Y for submit@debbugs.gnu.org; Sun, 24 Aug 2025 18:18:01 -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 ) id 1uqJ2A-0004Ph-Re for bug-gnu-emacs@gnu.org; Sun, 24 Aug 2025 18:17:54 -0400 Received: from mail-pf1-x42f.google.com ([2607:f8b0:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uqJ28-00049b-W0 for bug-gnu-emacs@gnu.org; Sun, 24 Aug 2025 18:17:54 -0400 Received: by mail-pf1-x42f.google.com with SMTP id d2e1a72fcca58-76e2ea933b7so3253787b3a.1 for ; Sun, 24 Aug 2025 15:17:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1756073870; x=1756678670; darn=gnu.org; h=mime-version:message-id:date:subject:to:from:from:to:cc:subject :date:message-id:reply-to; bh=i9gvBclr6WDpH9qx6JmIbtjpFSI6ZesB7fltCCfMfaE=; b=OO2RANej6AqWkaY/vaZ5odzQv7r4C+r1lqyN0xf6UMpTg2rwfOLUTdjrJyDUSwTx0j PFocjyBVOqXCVng7nB3YZY/PRPKMfwbscJYyhKImafUkixGtLK2FznLrTZnJ70jTsh/v MhCnNUxIstD0FVtPreizx0l2nScD6CVPWu8k+yb/wfD+uUR0VszWK2GmxvcGez37ctc4 Tu+HR0ROwxHEQ17gZYz21v5X7KQgvsNnDs/I+N3yw/Gtr7WswumWaKf8XEcqsA+evleX /0h1kqKqvMXAqcowB/ltNVvMFi4//fASiAtoOns8mYhV/D0oMMsFZ7xzw8PF6wrOqnik eNug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756073870; x=1756678670; h=mime-version:message-id:date:subject:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=i9gvBclr6WDpH9qx6JmIbtjpFSI6ZesB7fltCCfMfaE=; b=GyeOkd2ma3KHiVgms7KK+SWjrnq2yC3gKbniErQfPeeLZK/WLUjGuEZJy3wI43PIOf Qi5SmhTLPeITq+tzpkbnPsAt37yXqGExVCP5PtfB3j1XARSmOjYZcKuW1Sppjt61KaSP SbGnrWSuBpCfUS6I/JE4q6rracSmoFCDWtaiapo4ndSL6VmlgSOlkRTKghLQUEZJxp1o D3Dx+AemdGqav39C9LWseh1iusKpurxuKS+B7aiiPkXfSGf9ZDhzPqrBB+HHd5n7e72u dB6R4VvE77RCleA39u8cGSKqRRFvozmjwtyau/AXCQQOye2069YNdankKk9WOzVRbzf5 sXeQ== X-Gm-Message-State: AOJu0YwuG+oOScNfmfy3UNudWNZVIy5KqZX2IJpwg+NiR3Nebhx3d0wZ /v1GCdWqWsgLt7CLykah5vp2GP1M2tb2TT0yGG59aSdn8BuzAbaVw4QsdObh9/K3 X-Gm-Gg: ASbGncvoA82l2ELLfVF4/3ZAf1SGwBSgYMIaj3eTc6UQjgsUTruXcvYslmgBvbvWkXp SJWWoS9SHXFJRZuBXkglyTyGSrJu1SpzjODDOsS5FyFZfwq2SG+uKvRIuHwPsb8l3JMqsl1W3vB YRb3QY4NhnlEbL05Kvxha5rbjC5Nbb+P6g9sUZRJgUTosrUux/7Ak22UTfGpO9wwszY5H62nxAV 6aSCiyMHFqARqXjB1k8bjaENRvmQRQu0pHn2f0s4fkw57r49gfZFwSFAL8KrSRA1aKLbWU2icOC fiDRl/4KprhP/hTffBEC9KcUpHHjcvuF5HB0CHfZU25AQVJqp0A1uqGvhAf3eS6MCeIbapytp1r QoEODeY0ZnC74caNMnFAa8P80Y3WjPZ6WiQ9Gd6dpsKJr3f2Dp5rKtmqLYSP3hen9mB+1o8jZe9 OaTGAoK4UqEAaIhw== X-Google-Smtp-Source: AGHT+IHZBaECkW2Ew8F5zpMPU2jXImZWtAjXAyMfJmAvAoO0ygXo2Bjdc4tNjZDOsNbL8t8KfbOSmA== X-Received: by 2002:a05:6a00:4d09:b0:746:1d29:5892 with SMTP id d2e1a72fcca58-76ea2ff7516mr10931104b3a.4.1756073869466; Sun, 24 Aug 2025 15:17:49 -0700 (PDT) Received: from Aarons-MacBook-Pro-3.local (c-24-16-32-241.hsd1.wa.comcast.net. [24.16.32.241]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-770401afdaesm5434062b3a.53.2025.08.24.15.17.48 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 24 Aug 2025 15:17:48 -0700 (PDT) From: Aaron Jensen To: bug-gnu-emacs@gnu.org Subject: 31.0.50; MODE-set-explicitly change caused regressions in bind-map X-Debbugs-Cc: Date: Sun, 24 Aug 2025 15:17:47 -0700 Message-ID: MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2607:f8b0:4864:20::42f; envelope-from=aaronjensen@gmail.com; helo=mail-pf1-x42f.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.0 (+) 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.0 (/) This may be as expected as it sounds like MODE-set-explicitly is meant to be internal, but I wanted to report it in case regressions were not expected. The change: https://github.com/emacs-mirror/emacs/commit/c05ea64d8268315093673f8be29d4ceb92198b81 The 3rd-party library's use of *-set-explicitly: https://github.com/justbur/emacs-bind-map/blob/f23cfc13222a39e686d28a83ff83e9901d8908b2/bind-map.el#L180 After the change, bind-map no longer successfully overrides maps. I don't know the specifics of why it doesn't work, but correcting the formatting of the name to use the format string "%s--set-explicitly" restores functionality. I've opened an issue in bind-map so that it can be addressed there if that's appropriate. Please feel free to close this if this is expected and acceptable. Thank you, Aaron From debbugs-submit-bounces@debbugs.gnu.org Tue Aug 26 11:54:12 2025 Received: (at submit) by debbugs.gnu.org; 26 Aug 2025 15:54:13 +0000 Received: from localhost ([127.0.0.1]:56224 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uqvzw-0007ck-D2 for submit@debbugs.gnu.org; Tue, 26 Aug 2025 11:54:12 -0400 Received: from lists.gnu.org ([2001:470:142::17]:41502) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uqvzp-0007bu-52 for submit@debbugs.gnu.org; Tue, 26 Aug 2025 11:54:06 -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 ) id 1uqvzY-0004vx-Nt for bug-gnu-emacs@gnu.org; Tue, 26 Aug 2025 11:53:48 -0400 Received: from mail-vk1-xa31.google.com ([2607:f8b0:4864:20::a31]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uqvzO-0004UC-QG for bug-gnu-emacs@gnu.org; Tue, 26 Aug 2025 11:53:47 -0400 Received: by mail-vk1-xa31.google.com with SMTP id 71dfb90a1353d-53b17531009so1762890e0c.3 for ; Tue, 26 Aug 2025 08:53:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1756223609; x=1756828409; darn=gnu.org; h=date:message-id:cc:to:subject:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=aLKpAQLosQH4tYE8hcpnoLjh9yjSSWubZeTO0cLmLUY=; b=gLpncEBpTPP4ZowPjDhqQaBq4DwAtn/T0KSLQ1ccOQ0bTX2sJ6pjAZEkOu+aFsjJRQ B8npopdXas+oQLq1TI5MaqmoGktlpDixI4WPU8sBqV4zUZqcvCtIFN3KHX/FhfT17yAF uZi8X7FU2kVSAIwyT/GRdzhC95Mtt8b/QqgUA5d21u0HR+/myNbj376RWuX4vYpSVbYN Hy6o6d78yxcML3sDSj0Z9d/ez1HxaHzC+szXeOJsOnueiQ2qJ5W3AJyKYSKXFGx0hHJc YRqYM5z6QVEjR4TYmi3ypiiY3ycO4fjvLNTv+/HW4Dx/VXBzXr0KC+xCFd2RNFSMK0dK hJng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756223609; x=1756828409; h=date:message-id:cc:to:subject:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=aLKpAQLosQH4tYE8hcpnoLjh9yjSSWubZeTO0cLmLUY=; b=bv8OjBCXuKT42WUdx6Iyasn/0+5KiQ/VAMxKf3TXcbCG8IY1QHNpqC3iJzOX+9xWkn JMwYrvWT+IeLyJmR3yxKPukaAG4LUdiUW+vkY5fdQAYkM7P45b3E6tpc4cFoN1KAUYAB NltlP85bcaIvqn2XC4lZiupHtg3jJyQKe1ONwScS4GxYXbzE8RWD69IO3VH+3qn0YtaK TYm4gAs+BaCkZJ1TaNwbX1kSVbeB1L8HdulBsT38brfCLzSzTHwWQVqI2cFJ37fdUNE7 m6fyVQvfn+pCvyt0J39DrVYoxVM1c+q6BXN7rDcpG+RHwuQZCQsQdyORE045pSsL5ddw pCDw== X-Gm-Message-State: AOJu0YxNdfqUkoIzBCnu/IXI0WKFbj4sd3ZuVoX9beGXe+4yOJhL/g4n jhl+AmanoN1ZEq2CrwzbaqjvvsDtD9UFwLnqwLVo2lvXxEqvm7Y3q0kYY72Buw== X-Gm-Gg: ASbGncvGjOD0sTNkQm1N8Z35wXig00GjTV+4eM1+TrivbWoT9di4hdS0LZyZ93Mh82j RlE0ZJgLZFdAmgY50nHTcGpkl+YG34ifqLUtb6Ozpnnk55cBlhdOKPG79EHe6Qu+DT0alRT/xnP W+1KFImAflAzqH3h3rTixASKfGRgjwqQhOZ1r+u9Di5+A+Ipwm49RwQJLvHWWibT2qpczQxgOrD xHMb9qTO0Ob1FXpPi4k2uEl1TADi7NxMETY71qof+1dlEqO/r2XxNpc6Z9DlGeQsO1OtX1jigvM idHfmKkVV/1vOlEU9TDwUp/wJqwMKF9+GFSi4xuzQHtyRUcEs7C1rlz5hZntMFVN7kkijg1Tkfw kqMFD+HdVlwXXhlORUOMUI1f78PU0UCHtckzk7qFrYjLliVrD4wwZ/kw8 X-Google-Smtp-Source: AGHT+IEjJCjvsvB8xTWw9u0+Hj1/ym59Y1t7992N2DwRqYPn/KjftsOXYyUo8z5Eb6nKKmMdOMGaoA== X-Received: by 2002:a05:6122:510:b0:542:59a2:72e6 with SMTP id 71dfb90a1353d-54259a27774mr1930279e0c.6.1756223608859; Tue, 26 Aug 2025 08:53:28 -0700 (PDT) Received: from localhost (0.92.231.35.bc.googleusercontent.com. [35.231.92.0]) by smtp.gmail.com with UTF8SMTPSA id 71dfb90a1353d-54430552516sm40687e0c.22.2025.08.26.08.53.28 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 26 Aug 2025 08:53:28 -0700 (PDT) Mime-Version: 1.0 From: "Aaron Jensen" Subject: bug#79305: 31.0.50; MODE-set-explicitly change caused regressions in bind-map To: "Emacs Bugs" Message-ID: X-Mailer: Superhuman Desktop (2025-08-25T19:06:01Z) X-Superhuman-ID: mesq6fyv.488cc1ec-9691-4b25-a524-573e55f2d190 X-Superhuman-Draft-ID: draft00b3eaa6643c5015 X-Superhuman-Thread-ID: draft00ff033402cddd44 X-Entity-Ref-ID: mesq6fyv.488cc1ec-9691-4b25-a524-573e55f2d190 Date: Tue, 26 Aug 2025 15:53:27 +0000 Content-Type: multipart/alternative; boundary=a7e5c83e95a71de9308b0d4af71182558baa82a2fa4489a5f52b96ad44a2 Received-SPF: pass client-ip=2607:f8b0:4864:20::a31; envelope-from=aaronjensen@gmail.com; helo=mail-vk1-xa31.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, HTML_MESSAGE=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.0 (+) X-Debbugs-Envelope-To: submit Cc: spwhitton@spwhitton.name 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.0 (/) --a7e5c83e95a71de9308b0d4af71182558baa82a2fa4489a5f52b96ad44a2 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Adding Sean, the author of the commit, as I forgot to CC them initially. Aaron --a7e5c83e95a71de9308b0d4af71182558baa82a2fa4489a5f52b96ad44a2 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=UTF-8
Adding Sean, the author of the commit, as I forgot to CC them initi= ally.

Aaron
<= /div>
--a7e5c83e95a71de9308b0d4af71182558baa82a2fa4489a5f52b96ad44a2-- From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 28 03:59:50 2025 Received: (at 79305) by debbugs.gnu.org; 28 Aug 2025 07:59:50 +0000 Received: from localhost ([127.0.0.1]:38180 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1urXXw-0003TN-BS for submit@debbugs.gnu.org; Thu, 28 Aug 2025 03:59:50 -0400 Received: from sendmail.purelymail.com ([34.202.193.197]:45358) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1urXXt-0003SE-Ii for 79305@debbugs.gnu.org; Thu, 28 Aug 2025 03:59:46 -0400 DKIM-Signature: a=rsa-sha256; b=YR+Zej5HIWZIaW8ibvG3VxWZdT86Dicg3bSH6TrLkiVFWVffWpQBxHAC30P8Cie9IR/dGlVcIRkzXvs7R3IXTW2Wzvlo91iE/q0bYSKOVXH2wYX5Hb1z4PB1IfI61jGRNoOFj9OpmVAym4OechrLiuc0pkh7OEIcuZQI/JNLJcGkYK/30C6WHxsMsoZu0rsO/y+A5ojTh1CP0b1kTiIM9WFqiRnrQARXGn8aZpcXHr8PfCeeXs8E1yOPeDp1n5RW+zkNITHTIm8VLD6b/mav3lxtTOTdDpfh51Kdx8zx3PO8cYUNNlUY8s4X3jZnbfxV96jwwWmJkGAROJWP/G9I7g==; s=purelymail1; d=spwhitton.name; v=1; bh=SyHlw8R6rvVuruwWypSFBfhsCWBNZlCoPbE7xbC8HKo=; h=Received:Received:From:To:Subject:Date; DKIM-Signature: a=rsa-sha256; b=f3/yMlf64Rp8TnRasIOuYYTV9bmTMLM+MnZkJKyZIeQDqc1cxStcHqVWWcKZ5AsNxeuUnFYVd1xOs4bp3dHABI1yjSaliHy+YQYnelpHZ5dakOT+Cf6KDcfts/+c79yb0Eb050B+/UoaGnG+dUtpiZmtP4PxdZ4R633Nsw4JPdisALEAsRIaRVn2UW01/0lGWFOim3mqqSOkWtQn6u+7PPI+jzZvfd0prUS0ehByfMIfCNYbau3JrzZwlkz/pNX5vrhkT8VMzebiGxs08Yu/3oRX2UAVO24LmAnmfPARoLKzWgxUOB2IA6kkwls1tZJw7re/AJNENJWax80WgMb4GA==; s=purelymail1; d=purelymail.com; v=1; bh=SyHlw8R6rvVuruwWypSFBfhsCWBNZlCoPbE7xbC8HKo=; h=Feedback-ID:Received:Received:From:To:Subject:Date; Feedback-ID: 20115:3760:null:purelymail X-Pm-Original-To: 79305@debbugs.gnu.org Received: by smtp.purelymail.com (Purelymail SMTP) with ESMTPSA id 1963478348; (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Thu, 28 Aug 2025 07:59:32 +0000 (UTC) Received: by zephyr.silentflame.com (Postfix, from userid 1000) id 1DCBB940A0F; Thu, 28 Aug 2025 08:59:31 +0100 (BST) From: Sean Whitton To: Aaron Jensen , Stefan Monnier , Jonas Bernoulli Subject: Re: bug#79305: 31.0.50; MODE-set-explicitly change caused regressions in bind-map In-Reply-To: References: Date: Thu, 28 Aug 2025 08:59:31 +0100 Message-ID: <87zfbjswpo.fsf@zephyr.silentflame.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 79305 Cc: 79305@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 (-) Hello, Thanks. This was not intended to be a breaking change. On Sun 24 Aug 2025 at 03:17pm -07, Aaron Jensen wrote: > This may be as expected as it sounds like MODE-set-explicitly is meant > to be internal, but I wanted to report it in case regressions were not > expected. > > The change: > https://github.com/emacs-mirror/emacs/commit/c05ea64d8268315093673f8be29d4ceb92198b81 > > The 3rd-party library's use of *-set-explicitly: > https://github.com/justbur/emacs-bind-map/blob/f23cfc13222a39e686d28a83ff83e9901d8908b2/bind-map.el#L180 > > After the change, bind-map no longer successfully overrides maps. I > don't know the specifics of why it doesn't work, but correcting the > formatting of the name to use the format string "%s--set-explicitly" > restores functionality. > > I've opened an issue in bind-map so that it can be addressed there if > that's appropriate. Please feel free to close this if this is expected > and acceptable. bind-map shouldn't use an internal variable like that. If there is no other way for bind-map to achieve what it needs, and we think what it is trying to do is a reasonable interaction with define-globalized-minor-mode, we should undo the renaming of the variable. Otherwise we should declare the variable obsolete instead of just renaming it outright, so that any other third party package authors have a chance to make updates. Stefan, Jonas, what do you think? -- Sean Whitton From debbugs-submit-bounces@debbugs.gnu.org Fri Aug 29 10:44:09 2025 Received: (at 79305) by debbugs.gnu.org; 29 Aug 2025 14:44:09 +0000 Received: from localhost ([127.0.0.1]:42755 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1us0Km-0002WL-O4 for submit@debbugs.gnu.org; Fri, 29 Aug 2025 10:44:09 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:15123) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1us0Ki-0002Uh-8u for 79305@debbugs.gnu.org; Fri, 29 Aug 2025 10:44:05 -0400 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 6F1D54415AD; Fri, 29 Aug 2025 10:43:57 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1756478636; bh=8Wk3Vgtlb2Cv8FdejoDPl8iX2lHqzfHAFmwmJ3/VQNI=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=augMVzAfh2YWttdNWWMu3o9to+dl3SCemSkwJpSr/nWutMjv29Ci1hsKsBSmfteOm x5NM5THOIwjymzdSbVDvqBd/ePZNs4bpfA40z12wZA/NidKV2U4vdTeRmrxu6HBLcD VSuuwbc+tmpKH51jk5pcB9bP37ciGhbd9iT1xM/FVG5k+8JSRsdfK48jlgxYA9ZJl/ 4tNcmG1zZ5gps+RTOeDUJUuiprNp6BSCIkhOM7UNZxb9b4qTpQS46YlUtvE/zw9L54 Co7YUo5THd1jqAnhQWEqfU0GlctSbjbIycQhfZWX6ynpV0+dJwBLO3qD0P+rnM/97L xMfUNfVQ6HVGQ== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 8E4D74415A3; Fri, 29 Aug 2025 10:43:56 -0400 (EDT) Received: from asado (unknown [10.35.229.186]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 7F86312049C; Fri, 29 Aug 2025 10:43:56 -0400 (EDT) From: Stefan Monnier To: Sean Whitton Subject: Re: bug#79305: 31.0.50; MODE-set-explicitly change caused regressions in bind-map In-Reply-To: <87zfbjswpo.fsf@zephyr.silentflame.com> Message-ID: References: <87zfbjswpo.fsf@zephyr.silentflame.com> Date: Fri, 29 Aug 2025 10:43:44 -0400 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 79305 Cc: Jonas Bernoulli , 79305@debbugs.gnu.org, Aaron Jensen 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 (---) > bind-map shouldn't use an internal variable like that. +1, tho maybe bind-map has a good reason to do that. Does anyone know something about that? Stefan From debbugs-submit-bounces@debbugs.gnu.org Fri Aug 29 12:23:47 2025 Received: (at 79305) by debbugs.gnu.org; 29 Aug 2025 16:23:47 +0000 Received: from localhost ([127.0.0.1]:43015 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1us1tC-0000HK-MU for submit@debbugs.gnu.org; Fri, 29 Aug 2025 12:23:47 -0400 Received: from mail-ua1-x92b.google.com ([2607:f8b0:4864:20::92b]:47484) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1us1t8-0000Fh-H1 for 79305@debbugs.gnu.org; Fri, 29 Aug 2025 12:23:43 -0400 Received: by mail-ua1-x92b.google.com with SMTP id a1e0cc1a2514c-895c4657d34so326121241.3 for <79305@debbugs.gnu.org>; Fri, 29 Aug 2025 09:23:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1756484615; x=1757089415; darn=debbugs.gnu.org; h=cc:to:message-id:from:references:subject:date:in-reply-to :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=JQR8j7urbPP7zf4modcNE0bAZi22CRb7ZRvck6PUX6Y=; b=Tx6TjVnOXZTLr3A+8gKSilo+cYX6iusuI6PSUdZcx1EhY/vRmNb+4H2Q1+LZozaELo QeImzlHkU2mz2dCrSqHqdiE79NwyJt5sALQJULkIZpf5UzYrhAKnwTkVlXmQ5F8UOws8 uhV17jXMoHh0DLDPbGfcWLB6gM6fK6CKVdR7VRKMjMf8ajESPt9BEmdo/cjHFedndr0U AJnDhXrWDOMC1MbOIzchdxqRnKlhniKzLZieF77QDq0aC436X7L0AhIFAw/IAwPIkBId O/EveQHX/SFniAY8GA3gMR+OrF8N5qcjpFqWCWYoNH1r3nJ2KC5YIZm8QhbvHM8qkS1a 5RLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756484615; x=1757089415; h=cc:to:message-id:from:references:subject:date:in-reply-to :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=JQR8j7urbPP7zf4modcNE0bAZi22CRb7ZRvck6PUX6Y=; b=JeQmm0E0woZ1GVYJQxFefabVNCGelvTE6NuE6fimVkgob13cl9Mkeg7+lqTUmz5kvl gMcN3Ftv9vuLmAfKlPaJtefzLCVHXBbrzP60FrtB+yHP5+s/0Pj9HMHztWWP3mLaiVxk BDkNJmjnmICpIj+xMxEH4t2uontetLXFX6aStVmxZdgqOjYmKpxVNHGU2DFTPqMAr7E5 mZuHhyEdVsKXC1/7NgXasKQ224DuuBU5b7kKoiH6CAYlBuJp7fbM136fkq8TvushR4BC hc62Q5kPoH1KeB59H1ezvs3CDy4OkhPLEudcdst29FIwS3SCQ+wNcUPA8n9U9tdRjeDh qnbA== X-Forwarded-Encrypted: i=1; AJvYcCWe1oxCr70bf/TxpGaLyCqrQpKD2frgg9pXYUABvSC1sCXuCEzNWmECukeyaDFUIbMa/VPmdQ==@debbugs.gnu.org X-Gm-Message-State: AOJu0Yw3krpIoiKvrRzolmYUtG9D5vKpIbHC0IZUb6GCpNkORzqB9bj3 3HgAqkkFw5YoZlNsY9eURpEMsHYQvPlqVBFhPv1A8DjsNVbcpG4L4P3sLdqHUQ== X-Gm-Gg: ASbGncvl1BN2SPVNNihUcVJY26THmO4pFfpNcesSL9Kv9fl4GM2c97hN4Mo6RQuSg4T CIrZj/MP4KAvbtDRsKxAwXJhBqHoBlf4xi3YAhTnSn1R3MyfUIohcRdDTFS/MOXvam2jh28H06x BWUwJGnPzQia1Y4fJ1tqm/EcX8VjCu95GogPRpovtVRGKD4LwWUeeyXMH3MnpH7JfzYHpgK2LFw aYOEKpkDC5UUwuIbfp5A+fbMp/79GbKDe/8wUNH2P4tRYbsplU93kHprZLdP/0Zbn/awPBvvLUh W+oKfvEisjLA+bXoJiSSqPe44vEBrt3f/8msSz9zsT1aC2My7d8KGflgR+Q80gk48hLwnH0OvyE tMnzqu5byDySOaPqu21mgmLnNX53pyWEBtoyzzeZyBdc1cW0gYLRbn1L8 X-Google-Smtp-Source: AGHT+IEViK3tIocOeDi6I6t0mPT5Ah84Sqr5JCOhBWYQdWvto2SY1GEVLYnSPnzIYI4FDDEv4NK6sg== X-Received: by 2002:a05:6102:509f:b0:521:b9f2:a5dc with SMTP id ada2fe7eead31-521b9f2ab59mr7970204137.25.1756484615328; Fri, 29 Aug 2025 09:23:35 -0700 (PDT) Received: from localhost (0.92.231.35.bc.googleusercontent.com. [35.231.92.0]) by smtp.gmail.com with UTF8SMTPSA id ada2fe7eead31-529ac24c6f3sm1238010137.0.2025.08.29.09.23.34 for <79305@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 29 Aug 2025 09:23:35 -0700 (PDT) Mime-Version: 1.0 X-Mailer: Superhuman Desktop (2025-08-25T19:06:01Z) X-Superhuman-ID: mex1kokm.e3fb8841-8884-4776-9f76-875a2cda53a7 In-Reply-To: Date: Fri, 29 Aug 2025 16:23:31 +0000 Subject: Re: bug#79305: 31.0.50; MODE-set-explicitly change caused regressions in bind-map X-Superhuman-Draft-ID: draft0099ce492dfd4ea2 References: <87zfbjswpo.fsf@zephyr.silentflame.com> From: "Aaron Jensen" Message-ID: To: "Stefan Monnier" Content-Type: multipart/alternative; boundary=a87264bc87222c1d82ae655842fbece2f9e57c83a01729a72566b45b01ef X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 79305 Cc: Jonas Bernoulli , 79305@debbugs.gnu.org, Sean Whitton 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 (-) --a87264bc87222c1d82ae655842fbece2f9e57c83a01729a72566b45b01ef Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 On Fri, Aug 29, 2025 at 7:43 AM, Stefan Monnier < monnier@iro.umontreal.ca = > wrote: >=20 >=20 >>=20 >>=20 >> bind-map shouldn't use an internal variable like that. >>=20 >>=20 >>=20 >=20 >=20 >=20 > +1, tho maybe bind-map has a good reason to do that. Does anyone know > something about that? >=20 >=20 >=20 >=20 It was in a commit with this=C2=A0message: Fix evil-local-mode-hook logic Can't be sure that the override modes are enabled before this hook is run so we check if the global mode is enabled and if the local mode is set explicitly in a prior hook (presumably a major mode hook). https://github.com/justbur/emacs-bind-map/commit/89747f7240e5f51084fd94aad5= 02d67f426e03b4 --a87264bc87222c1d82ae655842fbece2f9e57c83a01729a72566b45b01ef Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=UTF-8
On Fri, Aug 29, 2025 at 7:43 AM, Stefan Monnier= <monnier@iro.umontreal.ca> wrote:

bind-map shouldn't use an internal variable like that.

+1, tho maybe bind-map has a good reason to do that. Does anyone know something about that?


It was in a commit with this= =C2=A0message:

Fix evil-local-mode-hoo= k logic
Can't be sure that the override modes are enable= d before this hook is
run so we check if the global mode is = enabled and if the local mode is
set explicitly in a prior h= ook (presumably a major mode hook).

--a87264bc87222c1d82ae655842fbece2f9e57c83a01729a72566b45b01ef-- From debbugs-submit-bounces@debbugs.gnu.org Sun Aug 31 11:23:29 2025 Received: (at 79305) by debbugs.gnu.org; 31 Aug 2025 15:23:29 +0000 Received: from localhost ([127.0.0.1]:54646 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1usjtw-0008Bb-Jn for submit@debbugs.gnu.org; Sun, 31 Aug 2025 11:23:28 -0400 Received: from sendmail.purelymail.com ([34.202.193.197]:49190) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1usjtr-0008BL-Ue for 79305@debbugs.gnu.org; Sun, 31 Aug 2025 11:23:26 -0400 DKIM-Signature: a=rsa-sha256; b=jBuaUpyyINKNjbwRP3v2EPyhn5iJlfM8zMU1RH8xNvfj1R2GzmsNS2bEHZKBSj1JHwe3neGqkF515QBLe3nMHWJ9nFluTcD3B07/pp5S1f/8r+zffZNdxp0ZvejmM4ifmdjGht+AlXDDw9tCOUhTGcliEYuwSX6OcMC5F5qjyYQuubthX1mwEhtvczNUaPhycwO80VhXdkBVCCpg3AIPa57CmFhtyrRUNnNmHsU6Lwooa6Ea4+MPLbMdOwK2qoSrOtk9iaCfQmf0O2WE5p+F63qJVGbzPkYE2hQv7p/MhpvJJxNBARg/DFQmjI/BO6Br6aHcIQ3zupNrS6BS61wrmg==; s=purelymail1; d=spwhitton.name; v=1; bh=l2drehDj32isFKLgEPF3G1N6yk/LVKzGd8gZb5IkvzM=; h=Received:Received:From:To:Subject:Date; DKIM-Signature: a=rsa-sha256; b=JebBpbwk+KnHq360oNPTfqXvWhekFHQp/OK7TVY6WHYpLo3RDBNQ2bFgwZ3RZZnnXqaFW1EzQVvyAaLX+aeSCliIhYh8f5Cot1crcQTGIzWUqjzkdyKA2q/KFFnsO3Wjbo3GIQv7+1l3nLw9CF01T+xpZdOy/QOg+1HxKOT0wXLDqziVG4vny3b8jvlkuvgwMYSFyJMYp1vK2e8Me+8AxhOCf7RvgpuX5IjJLQUoc4hl4B3M9QZWgKdrxvHpfy/5LF46fFb3KWn5Lzp1LAh6c8SfUmTA3YGvVhxWc68bwMYFLtwUs+9EqNs2zdrUQWlfa4le0WqBLdgMRSUtyfklxA==; s=purelymail1; d=purelymail.com; v=1; bh=l2drehDj32isFKLgEPF3G1N6yk/LVKzGd8gZb5IkvzM=; h=Feedback-ID:Received:Received:From:To:Subject:Date; Feedback-ID: 20115:3760:null:purelymail X-Pm-Original-To: 79305@debbugs.gnu.org Received: by smtp.purelymail.com (Purelymail SMTP) with ESMTPSA id -1472107988; (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Sun, 31 Aug 2025 15:23:13 +0000 (UTC) Received: by zephyr.silentflame.com (Postfix, from userid 1000) id D006F94014B; Sun, 31 Aug 2025 16:23:12 +0100 (BST) From: Sean Whitton To: "Aaron Jensen" Subject: Re: bug#79305: 31.0.50; MODE-set-explicitly change caused regressions in bind-map In-Reply-To: References: <87zfbjswpo.fsf@zephyr.silentflame.com> Date: Sun, 31 Aug 2025 16:23:12 +0100 Message-ID: <87plcbldlr.fsf@zephyr.silentflame.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -1.0 (-) X-Debbugs-Envelope-To: 79305 Cc: Jonas Bernoulli , Stefan Monnier , 79305@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: -2.0 (--) Hello, On Fri 29 Aug 2025 at 04:23pm GMT, Aaron Jensen wrote: > On Fri, Aug 29, 2025 at 7:43 AM, Stefan Monnier > wrote: > > bind-map shouldn't use an internal variable like that. > > +1, tho maybe bind-map has a good reason to do that. Does anyone know > something about that? > > It was in a commit with this message: > > Fix evil-local-mode-hook logic > Can't be sure that the override modes are enabled before this hook is > run so we check if the global mode is enabled and if the local mode is > set explicitly in a prior hook (presumably a major mode hook). > > https://github.com/justbur/emacs-bind-map/commit/89747f7240e5f51084fd94aad502d67f426e03b4 Thanks for the link. Unfortunately it seems like it would take a lot of evil-mode knowledge to really know what's going on there. Let me ask about the original purpose of the -set-explicitly machinery. The comments say that the idea is that if the major mode hook has (global-foo-mode -1), then our hook in after-change-major-mode-hook won't undo that. Major mode hooks are generally for the user. So the idea is that this is primarily a way for the user to disable the global minor mode in particular major modes. Right? It looks to me that what emacs-bind-map is trying to use -set-explicitly for is not that, but something about hook ordering. So it's using it for some other purpose, so it is probably using the wrong mechanism. I think therefore in the absence of more information on the evil-mode stuff, we should go ahead with restoring the variable but marking it as obsolete. -- Sean Whitton From debbugs-submit-bounces@debbugs.gnu.org Sun Aug 31 14:22:10 2025 Received: (at 79305) by debbugs.gnu.org; 31 Aug 2025 18:22:10 +0000 Received: from localhost ([127.0.0.1]:55266 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1usmgr-00020X-FU for submit@debbugs.gnu.org; Sun, 31 Aug 2025 14:22:10 -0400 Received: from mail-ua1-x92b.google.com ([2607:f8b0:4864:20::92b]:52337) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1usmgm-0001zw-1e for 79305@debbugs.gnu.org; Sun, 31 Aug 2025 14:22:07 -0400 Received: by mail-ua1-x92b.google.com with SMTP id a1e0cc1a2514c-8920c579f98so1045066241.0 for <79305@debbugs.gnu.org>; Sun, 31 Aug 2025 11:22:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1756664518; x=1757269318; darn=debbugs.gnu.org; h=cc:date:from:references:to:subject:message-id:in-reply-to :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=eYNdLmOMRz2bVOClqnuMsxzbD+4Ybmaisym3Nz0gvmw=; b=Rt8AxRErmaAiAFLhgviM0IVZW8y3wq1DBINBnomv7+n5sGsgtEPllKuoHftm8Gu5yf PGvCvJIiLKjUEj2ZWRCFC0k2OEjvNb7IR7poGvhaa8vrOfFsFmWWbwQmmctE/fq2+/vg pnZXYrl71XIB++0/7btyfl4IIlIZ+bBNOL9yHITRLiyCC6kJjEjEeQ6LKZs0JLA63zqL G/JUyyaOUTfSJ0UhqitUv6OdG0SXy4aICyONjM4zzMBefbPGyrlvIu8nb2lOss2UPa+D 8+75/UXRiMz1wty9TsNHEFLi4U4fBNFWxnVmZciCOiRjJPDfqR39y4x5o8Q1bYdGpQp4 7nzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756664518; x=1757269318; h=cc:date:from:references:to:subject:message-id:in-reply-to :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=eYNdLmOMRz2bVOClqnuMsxzbD+4Ybmaisym3Nz0gvmw=; b=RSS28/rBNdpUgoviyd+rnSqDGHQHpx1fSFv5RCtLnX9NNDI4LD/xQ1o09MiXyWNHWK tVviO8+R4xaBWlSfBqrP5EulPA+I5c7f/F8GdiaENh346RyNzYgRT+YQl4E1fhCBB8SU QKjkz3EBRHfs1Xj8hrdwvM0WkHAy4yZ6xuGFInrnCZHVVh8F6aI9O3plXSmfxOVtfO8L HUuJ9bzpNDQj2GS0JKLFeDu1u/jJF8XRERpI/keMugsCBlYDljutCG8n3gAu9ZGd6S3f xOqT40yqSYnOZtcnjniDFKLTTSlbsPL6jXZjbSiy7P9X02jgcxuCGVhnaeM+k1ymNvtp 3UyA== X-Forwarded-Encrypted: i=1; AJvYcCWw908ZvfkiCRXbhzs6KpMBdLUwKLBK9QY66Z0aGEjIujTtOzgnHtxt5pzPzjUA6iuLnfM5Lg==@debbugs.gnu.org X-Gm-Message-State: AOJu0Yz9B4g9/LIcIKTKc7Z6KUi4E3jqTujADH82a2zpHiaEy9UO54aD sYEvG7mY7Q8yzC6baPyQxZbBnfPXaa/xxBKKIeijHdhdztfhmeR20uPN9gTTZQ== X-Gm-Gg: ASbGnct5dK/s/gU/1jj11vjLjUsR4fvTlgDm8epBX7H2yqHgFian/XISQ/b9EXmG5Dp quyFHtu+YP432LAEEQ0XCLwSkkX+ztbxYATIJMPBMMql7qq0nzGjBu4NIZPUQIrrvooCb+6b294 FqIROD1wWqTICIShEwpODv0Eu8+BIRT2wYPd+Ru5F9PelK+WskP5JSv/qjMndjRMHNncgqvi5As y6OcAPwZQkNvgMsr+l2WFiq3RdHYSZIyXn+9n9ULJZHC3xbpSq3U8tICfrAPiJx6yEBKQUHnDbt n/ZHHpF6ZTdNBJQe/71TpSeCitl6+QVDFmGhicpbgTTCBltG3CHT5kUlKDHL7t8Jva9ohKnDTk0 Q7n0kU3dt2+jkhMzvqUYN/dMwHQPm+Au0yd+mthdEKJLcTO1Zw9HdoBhchK9HHRegTLY= X-Google-Smtp-Source: AGHT+IGV4MlSxu4oFvplCVW7ZQd0XrL5SrSR1TBj+QX7jhOYk5CTPZ1EN+F54I+y3b9if7TdWJTBzw== X-Received: by 2002:a05:6102:6889:b0:52a:1ff2:da15 with SMTP id ada2fe7eead31-52b1a483dddmr1421470137.15.1756664517686; Sun, 31 Aug 2025 11:21:57 -0700 (PDT) Received: from localhost (0.92.231.35.bc.googleusercontent.com. [35.231.92.0]) by smtp.gmail.com with UTF8SMTPSA id ada2fe7eead31-52aef458ebasm2380161137.4.2025.08.31.11.21.56 for <79305@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 31 Aug 2025 11:21:56 -0700 (PDT) Mime-Version: 1.0 X-Mailer: Superhuman Desktop (2025-08-29T23:31:37Z) X-Superhuman-Draft-ID: draft005be781a81f160e In-Reply-To: <87plcbldlr.fsf@zephyr.silentflame.com> Message-ID: Subject: Re: bug#79305: 31.0.50; MODE-set-explicitly change caused regressions in bind-map To: "Sean Whitton" X-Superhuman-ID: mf00ojlb.8604424e-99db-40f4-8fb9-37c2efa7fd9a References: <87zfbjswpo.fsf@zephyr.silentflame.com> <87plcbldlr.fsf@zephyr.silentflame.com> From: "Aaron Jensen" Date: Sun, 31 Aug 2025 18:21:50 +0000 Content-Type: multipart/alternative; boundary=46212a15b66f47b7b2bd16e7f491b54df69f33a3ae597eac5d63dad944f1 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 79305 Cc: Jonas Bernoulli , Stefan Monnier , 79305@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 (-) --46212a15b66f47b7b2bd16e7f491b54df69f33a3ae597eac5d63dad944f1 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Hi Sean, I believe it's using it only to determine whether or not to apply a key map= to a minor mode. Specifically, it's attempting to detect the state when th= e global minor mode is enabled but that it is disabled explicitly=C2=A0in t= he given buffer. I have no idea why it doesn't just look at the value of th= e mode variable, which, as far as I understand it, would be made buffer loc= al and nil in that same case. There must be some circumstance where that va= riable will not yet be set or buffer local and would have led to false indi= cations. Without the original author or specific tests for that scenario, I couldn't= say anything for sure. I'd be fine with your proposal to restore the varia= ble and mark it obsolete. I'm not sure that the original author of bind-map= is very active anymore. I can update this bug if I hear anything from bind= -map folks. Thanks, Aaron On Sun, Aug 31, 2025 at 8:23 AM, Sean Whitton < spwhitton@spwhitton.name > = wrote: >=20 >=20 >=20 > Hello, >=20 >=20 >=20 > On Fri 29 Aug 2025 at 04:23pm GMT, Aaron Jensen wrote: >=20 >=20 >>=20 >>=20 >> On Fri, Aug 29 , 2025 at 7:43 AM, Stefan Monnier < monnier@ iro. umontre= al. >> ca ( monnier@iro.umontreal.ca ) > wrote: >>=20 >>=20 >>=20 >> bind-map shouldn't use an internal variable like that. >>=20 >>=20 >>=20 >> +1, tho maybe bind-map has a good reason to do that. Does anyone know >> something about that? >>=20 >>=20 >>=20 >> It was in a commit with this message: >>=20 >>=20 >>=20 >> Fix evil-local-mode-hook logic >> Can't be sure that the override modes are enabled before this hook is ru= n >> so we check if the global mode is enabled and if the local mode is set >> explicitly in a prior hook (presumably a major mode hook). >>=20 >>=20 >>=20 >> https:/ / github. com/ justbur/ emacs-bind-map/ commit/ 89747f7240e5f510= 84fd94aad502d67f426e03b4 >> ( >> https://github.com/justbur/emacs-bind-map/commit/89747f7240e5f51084fd94a= ad502d67f426e03b4 >> ) >>=20 >>=20 >=20 >=20 >=20 > Thanks for the link. Unfortunately it seems like it would take a lot of > evil-mode knowledge to really know what's going on there. >=20 >=20 >=20 > Let me ask about the original purpose of the -set-explicitly machinery. > The comments say that the idea is that if the major mode hook has > (global-foo-mode -1), then our hook in after-change-major-mode-hook won't > undo that. >=20 >=20 >=20 > Major mode hooks are generally for the user. So the idea is that this is > primarily a way for the user to disable the global minor mode in > particular major modes. Right? >=20 >=20 >=20 > It looks to me that what emacs-bind-map is trying to use -set-explicitly > for is not that, but something about hook ordering. So it's using it for > some other purpose, so it is probably using the wrong mechanism. >=20 >=20 >=20 > I think therefore in the absence of more information on the evil-mode > stuff, we should go ahead with restoring the variable but marking it as > obsolete. >=20 >=20 >=20 > -- > Sean Whitton >=20 >=20 > --46212a15b66f47b7b2bd16e7f491b54df69f33a3ae597eac5d63dad944f1 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=UTF-8
Hi Sean,
=

I believe it's using it only= to determine whether or not to apply a key map to a minor mode. Specifical= ly, it's attempting to detect the state when the global minor mode is e= nabled but that it is disabled explicitly=C2=A0in the given buffer. I have = no idea why it doesn't just look at the value of the mode variable, whi= ch, as far as I understand it, would be made buffer local and nil in that s= ame case. There must be some circumstance where that variable will not yet = be set or buffer local and would have led to false indications.
<= div class=3D"">
Without the original author or sp= ecific tests for that scenario, I couldn't say anything for sure. I'= ;d be fine with your proposal to restore the variable and mark it obsolete.= I'm not sure that the original author of bind-map is very active anymo= re. I can update this bug if I hear anything from bind-map folks.

Thanks,
3D"
=

Aaron

<= br/>
On Sun, Aug 31, 2025 at 8:23 AM, Sean W= hitton <spwhitton@spwhitton.name> wrote:

Hello,

On Fri 29 Aug 2025 at 04:23pm GMT, Aaron Jensen wrote:

On Fri, Aug 29, 2025 at 7:43 AM, Stefan Monnier <monnier@iro.umontreal.<= wbr/>ca> wrote:

bind-map shouldn't use an internal variable like that.

+1, tho maybe bind-map has a good reason to do that. Does anyone know something about that?

It was in a commit with this message:

Fix evil-local-mode-hook logic
Can't be sure that the override modes are enabled before this hook is run so we check if the global mode is enabled and if the local mode is set explicitly in a prior hook (presumably a major mode hook).

https://github.com/j= ustbur/emacs-bind-map/commit/89747f7240e5f51084fd94aad502= d67f426e03b4

Thanks for the link. Unfortunately it seems like it would take a lot of evil-mode knowledge to really know what's going on there.

Let me ask about the original purpose of the -set-explicitly machinery. The comments say that the idea is that if the major mode hook has
(global-foo-mode -1), then our hook in after-change-major-mode-hook won't undo that.

Major mode hooks are generally for the user. So the idea is that this is primarily a way for the user to disable the global minor mode in particular major modes. Right?

It looks to me that what emacs-bind-map is trying to use -set-explicitly for is not that, but something about hook ordering. So it's using it for some other purpose, so it is probably using the wrong mechanism.

I think therefore in the absence of more information on the evil-mode stuff, we should go ahead with restoring the variable but marking it as obsolete.

--=20
Sean Whitton


--46212a15b66f47b7b2bd16e7f491b54df69f33a3ae597eac5d63dad944f1-- From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 01 00:50:05 2025 Received: (at 79305) by debbugs.gnu.org; 1 Sep 2025 04:50:05 +0000 Received: from localhost ([127.0.0.1]:56107 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uswUW-0000Ir-Kv for submit@debbugs.gnu.org; Mon, 01 Sep 2025 00:50:05 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:30638) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uswUT-0000ID-CZ for 79305@debbugs.gnu.org; Mon, 01 Sep 2025 00:50:02 -0400 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id BE43C44030B; Mon, 1 Sep 2025 00:49:54 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1756702189; bh=TJjgP+5pKDk0gU2cejdAz0/fCS/BWMxyt26/zL5WcD0=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=BCPkTdLiyfj8HAFVX1c574GuEDDBAt3ILo56RmCQifBI+ziCbLkG2Z8ZD2vpKhfId KRLh9X0xKmRaJIdU0/+IS9lwHZ2Z7eN+Ypvv68k4LSJ2F22o9mDku3/fLYp2DaZBDJ eRsKBH6IGgA5s9unTLC3AqsZmqE26wfQj2/sA20azmidlwZG1sZgQjfCSNBAVv47CT SoP+fzpWEBw5Lwi+Wq//NPN1OberV82mml+KFSM6RQUQOH7EJQ8FFqQFStj0NlMP9K D0ZikVLfdBN2Wdq5m20I37uq7NbEsCdMXVRdHP5Er+uLsvzhYLomKajtO13g2OwT5w YjfUtnztJJWgg== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 539754403DA; Mon, 1 Sep 2025 00:49:49 -0400 (EDT) Received: from alfajor (69-165-161-194.dsl.teksavvy.com [69.165.161.194]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 14124120387; Mon, 1 Sep 2025 00:49:49 -0400 (EDT) From: Stefan Monnier To: Sean Whitton Subject: Re: bug#79305: 31.0.50; MODE-set-explicitly change caused regressions in bind-map In-Reply-To: Message-ID: References: <87zfbjswpo.fsf@zephyr.silentflame.com> Date: Mon, 01 Sep 2025 00:49:48 -0400 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.061 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 79305 Cc: Jonas Bernoulli , 79305@debbugs.gnu.org, Aaron Jensen , Justin Burkett 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 (---) >> bind-map shouldn't use an internal variable like that. > +1, tho maybe bind-map has a good reason to do that. > Does anyone know something about that? After spending some time looking at the code, its history, and the corresponding doc, my conclusion is that `bind-map`s code was probably incorrect already with older Emacsen (just in different ways) and its intended behavior is far from clear, so I think it's best to leave this as a WONTFIX and let `bind-map`s authors figure out what to do on their side (tho I'd be happy to help them figure that out). The best patch I could come up with is the one below. Stefan diff --git a/bind-map.el b/bind-map.el index 41e6e5b5f0..204748efe8 100644 --- a/bind-map.el +++ b/bind-map.el @@ -171,19 +171,17 @@ be activated.") (when properties (pop properties))))) (defun bind-map-evil-local-mode-hook () - "Called to activate local state maps in a buffer." + "Activate local state maps in a buffer." ;; FIXME: Which buffer? ;; format is (OVERRIDE-MODE STATE KEY DEF) (dolist (entry bind-map-evil-local-bindings) (let* ((map (intern (format "evil-%s-state-local-map" (nth 1 entry)))) (mode (nth 0 entry)) - (global-mode (intern (format "global-%s" (nth 0 entry)))) - (set-explicitly (intern (format "%s-set-explicitly" mode)))) - (when (and (boundp global-mode) (boundp mode) - (boundp set-explicitly) (boundp map) + ;; FIXME: Why do we care about an associated global mode? + (global-mode (intern (format "global-%s" mode)))) + (when (and (boundp global-mode) (boundp mode) (boundp map) (keymapp (symbol-value map)) (symbol-value global-mode) - (not (and (symbol-value set-explicitly) - (null (symbol-value mode))))) + (symbol-value mode)) (define-key (symbol-value map) (nth 2 entry) (nth 3 entry)))))) (add-hook 'evil-local-mode-hook 'bind-map-evil-local-mode-hook) From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 01 04:43:37 2025 Received: (at 79305) by debbugs.gnu.org; 1 Sep 2025 08:43:37 +0000 Received: from localhost ([127.0.0.1]:56636 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ut08X-0003su-9D for submit@debbugs.gnu.org; Mon, 01 Sep 2025 04:43:37 -0400 Received: from sendmail.purelymail.com ([34.202.193.197]:48674) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1ut08T-0003sg-Gy for 79305@debbugs.gnu.org; Mon, 01 Sep 2025 04:43:34 -0400 DKIM-Signature: a=rsa-sha256; b=AQ1PzPEEO+3YCT+ABqxGLyZ9cbKG5YW9ECdCiIb/H1V1ZEBBQzYrVb/8dwFUQbaXGr0rf7gwFaRJcB2ZBFl5LKVhZWdOaPCZ1jKj1gznZxfEitY3Ay0dQWkpBh/Ttr9rX4ww9jHV3TWByQIh7R4LE7d3umdnLtFt5ipWSbeYvRuBlOBl+wiTzHmGKWnJL5sewEsOLYuh6lNMoMiMWWnebiWE3aNJa6p3oWLgDdXyVHPohLadwzi8IeO8nQXbTORx2tuJt62CGBdQTQgTGEzrsuD6nnsQaDkaW6aNkyjjGShmuwCMcK1RRctu5XZOVJaiSDAUfB07gMZlUpwqvE4X5A==; s=purelymail1; d=spwhitton.name; v=1; bh=k94QPqBDgL77GqTEdU1u0c0W/IsIDRcgHNjSDYdwe1A=; h=Received:Received:From:To:Subject:Date; DKIM-Signature: a=rsa-sha256; b=El0U5MO6RKgwxzN2IYVwaeuGXxgiL6D4tyKznzFouQTOGc4FUm+PU2iNUFb5FfoeM5dMzlClZ/DIiegvXFu4xYsFXfoVFSWc5ubcbt+oP+8xbr942sI7UbhlQh180njcaJrqmFU3wrER3JD4aI2jULOAi3qjJ+iqfbU4vnSuoyq1pnhDV+8PkmDek9UjVUrpA9GBUuYto3qqxA9Q7LddTSS2a91dEHLXao1sQEzRGTLp8d0eT+4zAYS6seXB14CpyRSiaK2Qe015Yi7gffRt7UIZkeWwkrDLkhE6ePLgaoAS9p5KeLUSQfWLorIRfuk8f64sAC3nkyLB+gIP92DOJA==; s=purelymail1; d=purelymail.com; v=1; bh=k94QPqBDgL77GqTEdU1u0c0W/IsIDRcgHNjSDYdwe1A=; h=Feedback-ID:Received:Received:From:To:Subject:Date; Feedback-ID: 20115:3760:null:purelymail X-Pm-Original-To: 79305@debbugs.gnu.org Received: by smtp.purelymail.com (Purelymail SMTP) with ESMTPSA id -465763797; (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Mon, 01 Sep 2025 08:43:21 +0000 (UTC) Received: by zephyr.silentflame.com (Postfix, from userid 1000) id 3064D9405FB; Mon, 01 Sep 2025 09:43:21 +0100 (BST) From: Sean Whitton To: Stefan Monnier Subject: Re: bug#79305: 31.0.50; MODE-set-explicitly change caused regressions in bind-map In-Reply-To: References: <87zfbjswpo.fsf@zephyr.silentflame.com> Date: Mon, 01 Sep 2025 09:43:21 +0100 Message-ID: <87zfbeimvq.fsf@zephyr.silentflame.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -1.0 (-) X-Debbugs-Envelope-To: 79305 Cc: Jonas Bernoulli , 79305@debbugs.gnu.org, Aaron Jensen , Justin Burkett 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: -2.0 (--) Hello, On Mon 01 Sep 2025 at 12:49am -04, Stefan Monnier wrote: > After spending some time looking at the code, its history, and the > corresponding doc, my conclusion is that `bind-map`s code was probably > incorrect already with older Emacsen (just in different ways) and its > intended behavior is far from clear, so I think it's best to leave this > as a WONTFIX and let `bind-map`s authors figure out what to do on > their side (tho I'd be happy to help them figure that out). You don't think we should even restore it and mark it as obsolete? Thanks for looking into it btw. -- Sean Whitton From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 01 11:42:19 2025 Received: (at 79305) by debbugs.gnu.org; 1 Sep 2025 15:42:19 +0000 Received: from localhost ([127.0.0.1]:58247 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ut6fj-0003ut-2H for submit@debbugs.gnu.org; Mon, 01 Sep 2025 11:42:19 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:6574) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1ut6fg-0003uf-CK for 79305@debbugs.gnu.org; Mon, 01 Sep 2025 11:42:16 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 61856100383; Mon, 1 Sep 2025 11:42:10 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1756741329; bh=OH1IgFVkElb7RmoQVXqP3EmZNuer4Ww8Rvk1rxlOOOk=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=kWDx9ULRc8XWMeXIYWHe+Dn5CdorEv7on/tO7TQcOqGkhvqdzH3q2sE6Xb7mzMHpG mLpg9U1dVMB2T181VL5ElM6omfh7P38RoHsqbdKBtJegUy+Zv1esZ41UCnEHmhsHkS 83Bs4pyCIqMpJNBf1kKFs6peCVvrWsOev2rShvjc6RyQPf9gUkAgmS6Jkibid2Li8/ MBlk3RGPcd8h4DrWqdEmakvN2CcSfPr5h/xwbdhHwuoP4B7CXV4GuITnomQNhCojEU mLO3HX4OW1eB/Xcp63UCXQKPRvEgKOEwx2ysmnVOUFZP1HQDbLW0iqMDTE4IDULmFl zDCwN/IKgXrMw== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 801CB10024D; Mon, 1 Sep 2025 11:42:09 -0400 (EDT) Received: from alfajor (69-165-161-194.dsl.teksavvy.com [69.165.161.194]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 40B001204B0; Mon, 1 Sep 2025 11:42:09 -0400 (EDT) From: Stefan Monnier To: Sean Whitton Subject: Re: bug#79305: 31.0.50; MODE-set-explicitly change caused regressions in bind-map In-Reply-To: <87zfbeimvq.fsf@zephyr.silentflame.com> Message-ID: References: <87zfbjswpo.fsf@zephyr.silentflame.com> <87zfbeimvq.fsf@zephyr.silentflame.com> Date: Mon, 01 Sep 2025 11:42:08 -0400 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.102 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 79305 Cc: Jonas Bernoulli , 79305@debbugs.gnu.org, Aaron Jensen , Justin Burkett 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 (---) >> After spending some time looking at the code, its history, and the >> corresponding doc, my conclusion is that `bind-map`s code was probably >> incorrect already with older Emacsen (just in different ways) and its >> intended behavior is far from clear, so I think it's best to leave this >> as a WONTFIX and let `bind-map`s authors figure out what to do on >> their side (tho I'd be happy to help them figure that out). > You don't think we should even restore it and mark it as obsolete? Since I believe bind-map's code was only half-working to begin with: no, I don't think it's worth the trouble. It would just help them muddle through. I'd rather help them fix their code for good. Stefan From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 01 12:31:27 2025 Received: (at 79305) by debbugs.gnu.org; 1 Sep 2025 16:31:27 +0000 Received: from localhost ([127.0.0.1]:58343 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ut7RG-0000aI-WA for submit@debbugs.gnu.org; Mon, 01 Sep 2025 12:31:27 -0400 Received: from mail-vk1-xa2f.google.com ([2607:f8b0:4864:20::a2f]:59469) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1ut7RD-0000a3-Mj for 79305@debbugs.gnu.org; Mon, 01 Sep 2025 12:31:24 -0400 Received: by mail-vk1-xa2f.google.com with SMTP id 71dfb90a1353d-544a55b84d8so519030e0c.2 for <79305@debbugs.gnu.org>; Mon, 01 Sep 2025 09:31:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1756744277; x=1757349077; darn=debbugs.gnu.org; h=references:to:subject:message-id:from:in-reply-to:cc:date :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=g0LAB3dChPU4el6HldnygqUBHXJwCk7p0ZYqUhIhSvc=; b=Jg+ZrGrC19VC6bkFTX5elibkfp1dY+iGZ3pwGoaRZbAdQyKCkEKf/gmz/bnduYu3gB T0ADEvBVD24+riFmBFzeuQTIfdbGhbNV9Uq3xk9RVRBOvsRYo+FZUbPFsOxM7/vD24um qKOm8BlN2WRfyopEbfoOYfZ50JWziIElSztmftxxnIE68Jl3lQeQyOEiXBkYSM9oYJYf T0nSn6MHzgTKvpKmk4aPGEofufK0PEUsjGkR5ReBpFa24W/Zveez5aCPngCxWhvkhcp7 J+PV1JOm8omMkUNIoEywB2IA7AnYVb7QVOI5PRw35TgTJdPu6KzaEWXYkW44XAFw/3jU miEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756744277; x=1757349077; h=references:to:subject:message-id:from:in-reply-to:cc:date :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=g0LAB3dChPU4el6HldnygqUBHXJwCk7p0ZYqUhIhSvc=; b=vbR0msfRLqQIZDLLE9BZbuSYQQXHl263j5JV/13/kBA2j5E4ftEuWl73wBSAiDWv1f NG2wAYARmDBGUIpxoMjmXWhUGpK7WBxdUmMvVyYWPivwgKo4+2BPIWMyzRua/n6ZpRUh usnJd5BzbGXvdH3buzzFZlnbgKL01fsbzak+X9KiyO4j+PiBB8t7+zY/GIitTJOfhvoo APcw6SEJNXZzK0tXyZjLVKENBrY+hadTWa1ae1K9I4Ffh2Zd26QM3nt9uBUHSCj9Br88 x1QImh5PhGyTwYRR+iBvM0aWI9nZw9NpvtyIijK7OPTEyHpN1T2ZGcXQtAl9WvqraFDn t0vA== X-Forwarded-Encrypted: i=1; AJvYcCVgOHSBLFi+PsBgk0q4rWSWwxN/Y+Hredb2HJ5I9G5gjzSnvLwJR2oecy3vlUW/Yx2osBZetA==@debbugs.gnu.org X-Gm-Message-State: AOJu0YyyTeW2oMFVmMCr0bp5GloZfEGkw4Ue5dc7INtmHUIAW7CBayEb UecYWPFNesWby/l1OyXA0N1ihmWme3qBhtZjb7YTmigjlsjfVBb3V+KYelMpRg== X-Gm-Gg: ASbGncsdVzTGBL4TAtCBZXUilfXdhJ8WdsK7B2AVNamU91qtjkN9wz4QiSiOPzQXf+k 98xgegAE3NWGQhKAJoru2EOVcDntNvKbdPz8L1p4cHtjxb9EX9SnYBbJ9W91DCdU7KHsveQki2x wVtd38bV5kPQWHX7pUQu8mkrvIzkbtTmLpsfSD9g2lOVsrl22gyxpxgbvQNwB1MBBAOcxGlKvmS BPrwJWTqVe1kc7y4RT00yr8htmZzIXKpldnF7j06yjAEWrrHZFSgOjWEnWztN1XnER6W6VRKODD SYCRWTdMNDTK6m1Z3hx4OXIHHEISVRdfIGFPdCba87JTLry4Nh/pDRUbk56NB6awwcjgVL2hG3W Ki3yzufY8B72DkclbTOSEHRzKoqd5BPcUOoE5V6Gm/wsw/6X0Y7QBolsJwVzDa3SlN4Y= X-Google-Smtp-Source: AGHT+IGoh94rqw1Wo5PhqzzCdhyqSbPcJxhQUQ90E7kyToDEqRgJX+SjO3HHqxtq5XWHejzQ/UaBtQ== X-Received: by 2002:a05:6122:2205:b0:539:3bb5:e4c8 with SMTP id 71dfb90a1353d-544a02dd6f6mr2066122e0c.12.1756744277287; Mon, 01 Sep 2025 09:31:17 -0700 (PDT) Received: from localhost (0.92.231.35.bc.googleusercontent.com. [35.231.92.0]) by smtp.gmail.com with UTF8SMTPSA id 71dfb90a1353d-544a666da0csm2540654e0c.28.2025.09.01.09.31.16 for <79305@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 01 Sep 2025 09:31:17 -0700 (PDT) Mime-Version: 1.0 Date: Mon, 01 Sep 2025 16:31:13 +0000 X-Superhuman-Draft-ID: draft008fb26a3a81ff7d In-Reply-To: From: "Aaron Jensen" Message-ID: Subject: Re: bug#79305: 31.0.50; MODE-set-explicitly change caused regressions in bind-map To: "Stefan Monnier" X-Mailer: Superhuman Desktop (2025-08-29T23:31:37Z) X-Superhuman-ID: mf1c6dqh.874b9838-4008-4cfd-b34f-262534558247 References: <87zfbjswpo.fsf@zephyr.silentflame.com> <87zfbeimvq.fsf@zephyr.silentflame.com> Content-Type: multipart/alternative; boundary=d5c3b899325be2dc5c2e5327ac045806ca3a43b2d8dfd8029193606a3f42 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 79305 Cc: Justin Burkett , Jonas Bernoulli , 79305@debbugs.gnu.org, Sean Whitton 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 (-) --d5c3b899325be2dc5c2e5327ac045806ca3a43b2d8dfd8029193606a3f42 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 It's my understanding that=C2=A0the check for set-explicitly is done becaus= e given where this hook runs, it's possible=C2=A0that the mode variable is = not yet initialized, which means=C2=A0that even though it eventually will b= e, and thus could be relied on, it may not be. Therefore, bind-map relies o= n similar logic as the minor mode itself to determine whether or not the mi= nor mode *will eventually* be enabled. It seems like your proposed patch to= bind-map would be subject to this "hook race". Again, this is just an informed guess as I haven't set up the conditions to= reproduce it yet. I have extracted the relevant bind-map code to my own library that depended= on it: https://github.com/aaronjensen/emacs-leader-key/blob/master/leader-key.el#L= 109 Currently, it still relies on set-explicitly (accepting both forms), but if= there's a way that we can get it to not I'd be happy to try it out. Aaron On Mon, Sep 01, 2025 at 8:42 AM, Stefan Monnier < monnier@iro.umontreal.ca = > wrote: >=20 >=20 >>=20 >>>=20 >>>=20 >>> After spending some time looking at the code, its history, and the >>> corresponding doc, my conclusion is that `bind-map`s code was probably >>> incorrect already with older Emacsen (just in different ways) and its >>> intended behavior is far from clear, so I think it's best to leave this= as >>> a WONTFIX and let `bind-map`s authors figure out what to do on their si= de >>> (tho I'd be happy to help them figure that out). >>>=20 >>>=20 >>=20 >>=20 >>=20 >> You don't think we should even restore it and mark it as obsolete? >>=20 >>=20 >=20 >=20 >=20 > Since I believe bind-map's code was only half-working to begin with: no, = I > don't think it's worth the trouble. It would just help them muddle > through. I'd rather help them fix their code for good. >=20 >=20 >=20 > Stefan >=20 >=20 > --d5c3b899325be2dc5c2e5327ac045806ca3a43b2d8dfd8029193606a3f42 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=UTF-8
It's my underst= anding that=C2=A0the check for set-explicitly is done because given where t= his hook runs, it's possible=C2=A0that the mode variable is not yet ini= tialized, which means=C2=A0that even though it eventually will be, and thus= could be relied on, it may not be. Therefore, bind-map relies on similar l= ogic as the minor mode itself to determine whether or not the minor mode *w= ill eventually* be enabled. It seems like your proposed patch to bind-map w= ould be subject to this "hook race".

Again, this is just an informed guess as I haven'= ;t set up the conditions to reproduce it yet.
I have extracted the relevant bind-map code to my o= wn library that depended on it:

<= a href=3D"https://github.com/aaronjensen/emacs-leader-key/blob/master/leade= r-key.el#L109">https://github.com/aaronjensen/emacs-leader-key/blob/master/= leader-key.el#L109

Currently, it still r= elies on set-explicitly (accepting both forms), but if there's a way th= at we can get it to not I'd be happy to try it out.
3D"


Aaron


On Mon, Sep 01, 2025 at 8:42 = AM, Stefan Monnier <monnier@iro.umontreal.ca> wrote:<= br/>

After spending some time looking at the code, its history, and the corresponding doc, my conclusion is that `bind-map`s code was probably incorrect already with older Emacsen (just in different ways) and its intended behavior is far from clear, so I think it's best to leave this as a WONTFIX and let `bind-map`s authors figure out what to do on their side (tho I'd be happy to help them figure that out).

You don't think we should even restore it and mark it as obsolete?

Since I believe bind-map's code was only half-working to begin with: no= , I don't think it's worth the trouble. It would just help them muddle through. I'd rather help them fix their code for good.

Stefan


--d5c3b899325be2dc5c2e5327ac045806ca3a43b2d8dfd8029193606a3f42-- From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 01 13:20:55 2025 Received: (at 79305) by debbugs.gnu.org; 1 Sep 2025 17:20:55 +0000 Received: from localhost ([127.0.0.1]:58390 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ut8D8-0002ij-M7 for submit@debbugs.gnu.org; Mon, 01 Sep 2025 13:20:55 -0400 Received: from mail-vk1-xa34.google.com ([2607:f8b0:4864:20::a34]:55474) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1ut8D6-0002iV-C6 for 79305@debbugs.gnu.org; Mon, 01 Sep 2025 13:20:53 -0400 Received: by mail-vk1-xa34.google.com with SMTP id 71dfb90a1353d-544acb1f41dso756224e0c.2 for <79305@debbugs.gnu.org>; Mon, 01 Sep 2025 10:20:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1756747246; x=1757352046; darn=debbugs.gnu.org; h=cc:to:references:in-reply-to:subject:message-id:date:from :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=DdX6KiiKl1j8BYZYLuYfYXnx+5XDIo9yJCeu2BzP4Jc=; b=eNbG8XAZ8JsxJ7fLHUKJXzB5FKEnEy6Wp95NRcZreNi0iuDHVj7gI6048JVKRIY69J SA9iC657Pq5c27uB1t66c53zRta6n0dGEy20qLemd9v64sF2dLT9/SETuooFVHsHAEil 669wgXGhMIr/TWet4BofVBCf3PNwaIHLC09bxmesMl58YfMckgQ8gkcRk80CEHBHP5cQ 5cTSkvcH1lVk3thgysH4YgscJlQIRmfGit9OdMKmimSb/+kOpHr5+YRwZDuSRVQup94F tYzANQAptjlN2wMab5qE72av+Zunvwo4c/oMmOeyg1b7Cb1McMcJFi7JQYwj7usOalvC 2HEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756747246; x=1757352046; h=cc:to:references:in-reply-to:subject:message-id:date:from :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=DdX6KiiKl1j8BYZYLuYfYXnx+5XDIo9yJCeu2BzP4Jc=; b=T/IsRFAD7yMlYCYBl44EtZwWugUtPDvKbNhHWs/zqhSrxgLnhwWDUt88qGnDunQ5p9 N7o60CwTDXEan9OaP2EL8qLlTQk9Zew26EuRVjr0S/uPV9X6CTZ8KS+puHMWKw+t7zoi dt/DFxQAdmuUfDfE1jy5YWPfqPFmnji/KVH7QNVZ4aMx9oDehOAQOlAvovKxyDubSFY/ punqmoEpzSrRvI7C3NdNJwuKC53bLhsqeBmZk34tYxD0xFoNkegSioimWJDYnORT6J79 vYtrecfZQn1D2LDI1D5qo/oPN4KtyEUWmG1pCMbWmyGW4SJ6BKCXBV4h5zewvBHPRSLc UJBA== X-Forwarded-Encrypted: i=1; AJvYcCX6+foOslAL+XA+NlF3JGcMuNCPDY1nWL3FkySqRVlD5HHcyw0jJdtTHbpB+YOh1OrHVzKCpQ==@debbugs.gnu.org X-Gm-Message-State: AOJu0YwaFYNjuwtJpKJs42W3cI04hsNqCa7dY7AJVZnW9hfU+tkw/PH8 WLXXw6aN2xwE+Ls62rvogcw1w5TXDhqbo1Q+wPhP7omM1oe1AsF8QTr/pbTn+A== X-Gm-Gg: ASbGncsj9gFLE0c6II8qQrCVhyD5cOmYeHWpbN1RHfl5N6yDPp1g68AiwR8rHazQwC8 9r4IN2HoFtEWpjjolmkGllOaLW+q7lLhg4///OPu/cy3CWFusc+McXhnotu7Ze/Xl7wY0RWawl+ c2npBj9RrljOpZoaWfTGg+gWrMw8TLEY7ArDVJMeXWujehE0FuYQVPWiYtqLtKbzSGGWo3+LoSd ZeNeRfvEB0sW5StO0VklLny/hcatZou4D+jHJO//Osl78ZzwH7dT33uOVF2yfCG1XN5AlrEXMcV xF1kqTRR5M6XE9zh6tmds2OEiMOBrXg0TW+7UEaRfWK5Zq3m5JbrKOrptke6VExcKlzp6q5c8Jn vKiSnrUK18THEf7daHgcyn8M1dU8G6yt9Psk2T+BH+mIpBYcZBR3VNsGuJjzfTeqdbLg= X-Google-Smtp-Source: AGHT+IHX608dmYN/mtZvQ2D9XS3jELSFeSw6e+1XRNFa6ZZqD1e/tK3lhogKhd6WjWsIzpOQ0/m1ng== X-Received: by 2002:a05:6122:2022:b0:543:88f1:6621 with SMTP id 71dfb90a1353d-544a018f9e2mr2477682e0c.3.1756747245869; Mon, 01 Sep 2025 10:20:45 -0700 (PDT) Received: from localhost (0.92.231.35.bc.googleusercontent.com. [35.231.92.0]) by smtp.gmail.com with UTF8SMTPSA id 71dfb90a1353d-5449ed5a91esm3243551e0c.20.2025.09.01.10.20.45 for <79305@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 01 Sep 2025 10:20:45 -0700 (PDT) Mime-Version: 1.0 X-Superhuman-ID: mf1dxprd.f71a6db4-21fe-4908-8c29-6335c055aeef From: "Aaron Jensen" Date: Mon, 01 Sep 2025 17:20:39 +0000 Message-ID: Subject: Re: bug#79305: 31.0.50; MODE-set-explicitly change caused regressions in bind-map X-Mailer: Superhuman Desktop (2025-08-29T23:31:37Z) X-Superhuman-Draft-ID: draft0081e20984b89797 In-Reply-To: References: <87zfbjswpo.fsf@zephyr.silentflame.com> <87zfbeimvq.fsf@zephyr.silentflame.com> To: "Stefan Monnier" Content-Type: multipart/mixed; boundary=20ec0e412723b91a06483ece301eb13f215a7d9b5286d7bd70264e36e200 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 79305 Cc: Justin Burkett , Jonas Bernoulli , 79305@debbugs.gnu.org, Sean Whitton 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 (-) --20ec0e412723b91a06483ece301eb13f215a7d9b5286d7bd70264e36e200 Content-Type: multipart/alternative; boundary=c1ba3b375aacd12bb91eafd6c9ac428685bce8285581ba035753deeaa7e0 --c1ba3b375aacd12bb91eafd6c9ac428685bce8285581ba035753deeaa7e0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 The attached demonstrates the problem, I believe. Aaron On Mon, Sep 01, 2025 at 9:31 AM, Aaron Jensen < aaronjensen@gmail.com > wro= te: >=20 > It's my understanding that=C2=A0the check for set-explicitly is done beca= use > given where this hook runs, it's possible=C2=A0that the mode variable is = not > yet initialized, which means=C2=A0that even though it eventually will be,= and > thus could be relied on, it may not be. Therefore, bind-map relies on > similar logic as the minor mode itself to determine whether or not the > minor mode *will eventually* be enabled. It seems like your proposed patc= h > to bind-map would be subject to this "hook race". >=20 >=20 >=20 > Again, this is just an informed guess as I haven't set up the conditions > to reproduce it yet. >=20 >=20 >=20 > I have extracted the relevant bind-map code to my own library that > depended on it: >=20 >=20 >=20 > https:/ / github. com/ aaronjensen/ emacs-leader-key/ blob/ master/ leade= r-key. > el#L109 ( > https://github.com/aaronjensen/emacs-leader-key/blob/master/leader-key.el= #L109 > ) >=20 >=20 >=20 > Currently, it still relies on set-explicitly (accepting both forms), but > if there's a way that we can get it to not I'd be happy to try it out. >=20 >=20 >=20 >=20 > Aaron >=20 >=20 >=20 > On Mon, Sep 01, 2025 at 8:42 AM, Stefan Monnier < monnier@ iro. umontreal= . > ca ( monnier@iro.umontreal.ca ) > wrote: >=20 >>=20 >>>=20 >>>>=20 >>>>=20 >>>> After spending some time looking at the code, its history, and the >>>> corresponding doc, my conclusion is that `bind-map`s code was probably >>>> incorrect already with older Emacsen (just in different ways) and its >>>> intended behavior is far from clear, so I think it's best to leave thi= s as >>>> a WONTFIX and let `bind-map`s authors figure out what to do on their s= ide >>>> (tho I'd be happy to help them figure that out). >>>>=20 >>>>=20 >>>=20 >>>=20 >>>=20 >>> You don't think we should even restore it and mark it as obsolete? >>>=20 >>>=20 >>=20 >>=20 >>=20 >> Since I believe bind-map's code was only half-working to begin with: no,= I >> don't think it's worth the trouble. It would just help them muddle >> through. I'd rather help them fix their code for good. >>=20 >>=20 >>=20 >> Stefan >>=20 >>=20 >>=20 >=20 > --c1ba3b375aacd12bb91eafd6c9ac428685bce8285581ba035753deeaa7e0 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=UTF-8
The attached demons= trates the problem, I believe.=C2=A0
3D"


Aaron


<= div class=3D"gmail_quote">On Mon, Sep 01, 2025 at 9:31 AM, Aaron Jensen <aaronjensen@gmail.com> wrote:
It's my understanding that=C2=A0the check for set-expli= citly is done because given where this hook runs, it's possible=C2=A0th= at the mode variable is not yet initialized, which means=C2=A0that even tho= ugh it eventually will be, and thus could be relied on, it may not be. Ther= efore, bind-map relies on similar logic as the minor mode itself to determi= ne whether or not the minor mode *will eventually* be enabled. It seems lik= e your proposed patch to bind-map would be subject to this "hook race&#= 34;.

Again, this is just an informed guess as I hav= en't set up the conditions to reproduce it yet.

I have extracted the relevant bind-map code to my own library that depende= d on it:


Currently, = it still relies on set-explicitly (accepting both forms), but if there'= s a way that we can get it to not I'd be happy to try it out.


Aaron


On Mon, Sep 01, 2025 = at 8:42 AM, Stefan Monnier <monnier@iro= .umontreal.ca> wrote:

After spending some time looking at the code, its history, and the corresponding doc, my conclusion is that `bind-map`s code was probably incorrect already with older Emacsen (just in different ways) and its intended behavior is far from clear, so I think it's best to leave this as a WONTFIX and let `bind-map`s authors figure out what to do on their side (tho I'd be happy to help them figure that out).

You don't think we should even restore it and mark it as obsolete?

Since I believe bind-map's code was only half-working to begin with: no= , I don't think it's worth the trouble. It would just help them muddle through. I'd rather help them fix their code for good.

Stefan


--c1ba3b375aacd12bb91eafd6c9ac428685bce8285581ba035753deeaa7e0-- --20ec0e412723b91a06483ece301eb13f215a7d9b5286d7bd70264e36e200 Content-Disposition: attachment; filename="repro-evil-local-override-race.el" Content-Transfer-Encoding: base64 Content-Type: application/octet-stream; name="repro-evil-local-override-race.el" Ozs7IHJlcHJvLWV2aWwtbG9jYWwtb3ZlcnJpZGUtcmFjZS5lbCAtLS0gUmVwcm8gcmFjZSB3LyBn bG9iYWxpemVkIG1pbm9yIG1vZGVzIGFuZCBFdmlsIGxvY2FsIG1hcHMgIC0qLSBsZXhpY2FsLWJp bmRpbmc6IHQ7IC0qLQoKOzsgUnVuIHdpdGg6Cjs7ICAgZW1hY3MgLVEgLS1iYXRjaCAtbCBzY3Jp cHRzL3JlcHJvLWV2aWwtbG9jYWwtb3ZlcnJpZGUtcmFjZS5lbAoKKHNldHEgbWVzc2FnZS1sb2ct bWF4IHQpCihkZWZ1biByZXByby1sb2cgKGZtdCAmcmVzdCBhcmdzKQogIChwcmluYyAoYXBwbHkg Iydmb3JtYXQgKGNvbmNhdCBmbXQgIlxuIikgYXJncykpKQoKOzsgTG9hZCBFdmlsIGZyb20gZWxw YWNhL2J1aWxkcyAoYWRqdXN0IGlmIHlvdXIgcGF0aCBkaWZmZXJzKQooYWRkLXRvLWxpc3QgJ2xv YWQtcGF0aCAoZXhwYW5kLWZpbGUtbmFtZSAiZWxwYWNhL2J1aWxkcy9ldmlsIiB1c2VyLWVtYWNz LWRpcmVjdG9yeSkpCihyZXF1aXJlICdldmlsKQoKOzsgRGVmaW5lIGEgdHJpdmlhbCBjb21tYW5k IHdlIGJpbmQgdW5kZXIgU1BDIHgKKGRlZnVuIHJlcHJvLXRlc3QtY29tbWFuZCAoKQogIChpbnRl cmFjdGl2ZSkKICAobWVzc2FnZSAicmVwcm8tdGVzdC1jb21tYW5kIGludm9rZWQiKSkKCjs7IERl ZmluZSBhIHBlci1idWZmZXIgbWlub3IgbW9kZSBhbmQgYSBnbG9iYWxpemVkIHRvZ2dsZXIKKGRl ZmluZS1taW5vci1tb2RlIHJlcHJvLW92ZXJyaWRlLW1vZGUKICAiUGVyLWJ1ZmZlciBvdmVycmlk ZSBtb2RlIChzaW11bGF0ZXMgbGVhZGVyIG92ZXJyaWRlKS4iKQoKKGRlZnVuIHR1cm4tb24tcmVw cm8tb3ZlcnJpZGUtbW9kZSAoKQogICh1bmxlc3MgKG1pbmlidWZmZXJwKSAocmVwcm8tb3ZlcnJp ZGUtbW9kZSAxKSkpCgooZGVmaW5lLWdsb2JhbGl6ZWQtbWlub3ItbW9kZSBnbG9iYWwtcmVwcm8t b3ZlcnJpZGUtbW9kZQogIHJlcHJvLW92ZXJyaWRlLW1vZGUKICB0dXJuLW9uLXJlcHJvLW92ZXJy aWRlLW1vZGUpCgo7OyBLZXkgYW5kIHN0YXRlIHdlIHdpbGwgaW5zdGFsbCBpbnRvCihkZWZjb25z dCByZXByby1rZXkgKGtiZCAiU1BDIHgiKSkKKGRlZmNvbnN0IHJlcHJvLXN0YXRlICdub3JtYWwp Cgo7OyBIZWxwZXIgdG8gY2hlY2sgaWYga2V5IGlzIGluc3RhbGxlZCBpbiB0aGUgY3VycmVudCBi dWZmZXIncyBsb2NhbCBtYXAKKGRlZnVuIHJlcHJvLWluc3RhbGxlZC1wICgpCiAgKGxldCAoKG1h cCAoYW5kIChib3VuZHAgJ2V2aWwtbm9ybWFsLXN0YXRlLWxvY2FsLW1hcCkKICAgICAgICAgICAg ICAgICAgZXZpbC1ub3JtYWwtc3RhdGUtbG9jYWwtbWFwKSkpCiAgICAoYW5kIChrZXltYXBwIG1h cCkKICAgICAgICAgKGxldCAoKGIgKGxvb2t1cC1rZXkgbWFwIHJlcHJvLWtleSkpKQogICAgICAg ICAgIChhbmQgYiAobm90IChudW1iZXJwIGIpKSkpKSkpCgo7OyBCcm9rZW4gaW5zdGFsbGVyOiBy ZXF1aXJlcyBidWZmZXItbG9jYWwgbW9kZSB0byBiZSBvbiAocmFjZXMgYW5kIHNraXBzKQooZGVm dW4gcmVwcm8tYnJva2VuLWluc3RhbGwgKCkKICAobGV0KiAoKG1vZGUgJ3JlcHJvLW92ZXJyaWRl LW1vZGUpCiAgICAgICAgIChnbG9iYWwtbW9kZSAnZ2xvYmFsLXJlcHJvLW92ZXJyaWRlLW1vZGUp CiAgICAgICAgIChtYXAgKGFuZCAoYm91bmRwICdldmlsLW5vcm1hbC1zdGF0ZS1sb2NhbC1tYXAp CiAgICAgICAgICAgICAgICAgICBldmlsLW5vcm1hbC1zdGF0ZS1sb2NhbC1tYXApKSkKICAgICh3 aGVuIChhbmQgKGJvdW5kcCBnbG9iYWwtbW9kZSkgKHN5bWJvbC12YWx1ZSBnbG9iYWwtbW9kZSkK ICAgICAgICAgICAgICAgKGJvdW5kcCBtb2RlKSAoc3ltYm9sLXZhbHVlIG1vZGUpCiAgICAgICAg ICAgICAgIChrZXltYXBwIG1hcCkpCiAgICAgIChkZWZpbmUta2V5IG1hcCByZXByby1rZXkgIydy ZXByby10ZXN0LWNvbW1hbmQpKSkpCgo7OyBGaXhlZCBpbnN0YWxsZXI6IHByb2NlZWRzIHdoZW4g Z2xvYmFsIGlzIG9uIHVubGVzcyBleHBsaWNpdGx5IGRpc2FibGVkCihkZWZ1biByZXByby1maXhl ZC1pbnN0YWxsICgpCiAgKGxldCogKChtb2RlICdyZXByby1vdmVycmlkZS1tb2RlKQogICAgICAg ICAoZ2xvYmFsLW1vZGUgJ2dsb2JhbC1yZXByby1vdmVycmlkZS1tb2RlKQogICAgICAgICA7OyBF bWFjcyAzMSs6IDxtb2RlPi0tc2V0LWV4cGxpY2l0bHk7IG9sZGVyOiA8bW9kZT4tc2V0LWV4cGxp Y2l0bHkKICAgICAgICAgKHNldC1leHAgKGxldCAoKHYxIChpbnRlcm4gKGZvcm1hdCAiJXMtLXNl dC1leHBsaWNpdGx5IiBtb2RlKSkpCiAgICAgICAgICAgICAgICAgICAgICAgICh2MiAoaW50ZXJu IChmb3JtYXQgIiVzLXNldC1leHBsaWNpdGx5IiBtb2RlKSkpKQogICAgICAgICAgICAgICAgICAg IChjb25kICgoYm91bmRwIHYxKSB2MSkKICAgICAgICAgICAgICAgICAgICAgICAgICAoKGJvdW5k cCB2MikgdjIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgKHQgbmlsKSkpKQogICAgICAgICAo bWFwIChhbmQgKGJvdW5kcCAnZXZpbC1ub3JtYWwtc3RhdGUtbG9jYWwtbWFwKQogICAgICAgICAg ICAgICAgICAgZXZpbC1ub3JtYWwtc3RhdGUtbG9jYWwtbWFwKSkpCiAgICAod2hlbiAoYW5kIChi b3VuZHAgZ2xvYmFsLW1vZGUpIChzeW1ib2wtdmFsdWUgZ2xvYmFsLW1vZGUpCiAgICAgICAgICAg ICAgIChrZXltYXBwIG1hcCkKICAgICAgICAgICAgICAgKG5vdCAoYW5kIHNldC1leHAgKHN5bWJv bC12YWx1ZSBzZXQtZXhwKQogICAgICAgICAgICAgICAgICAgICAgICAgKGJvdW5kcCBtb2RlKSAo bnVsbCAoc3ltYm9sLXZhbHVlIG1vZGUpKSkpKQogICAgICAoZGVmaW5lLWtleSBtYXAgcmVwcm8t a2V5ICMncmVwcm8tdGVzdC1jb21tYW5kKSkpKQoKOzsgRW5hYmxlIHRoZSBnbG9iYWxpemVkIG92 ZXJyaWRlIG9uY2UgdXAtZnJvbnQKKGdsb2JhbC1yZXByby1vdmVycmlkZS1tb2RlIDEpCgo7OyBD b21tb24gc2VxdWVuY2UgZm9yIGJvdGggdGVzdHMgKGlkZW50aWNhbCBvcmRlcik6Cjs7IC0gTmV3 IGJ1ZmZlcgo7OyAtIERvIE5PVCB0b3VjaCB0aGUgcGVyLWJ1ZmZlciBtb2RlIHZhciAoaXQgaXMg bmF0dXJhbGx5IG5pbCBoZXJlKQo7OyAtIEVuYWJsZSBFdmlsIGxvY2FsbHkgKGhvb2sgZmlyZXMg d2hpbGUgcGVyLWJ1ZmZlciBtb2RlIGlzIHN0aWxsIG5pbCkKCjs7IFNjZW5hcmlvIDE6IEJyb2tl biBwYXRoIG1pc3NlcyBpbnN0YWxsIGR1ZSB0byByZXF1aXJpbmcgYnVmZmVyLWxvY2FsIG1vZGUK KHJlbW92ZS1ob29rICdldmlsLWxvY2FsLW1vZGUtaG9vayAjJ3JlcHJvLWJyb2tlbi1pbnN0YWxs KQoocmVtb3ZlLWhvb2sgJ2V2aWwtbG9jYWwtbW9kZS1ob29rICMncmVwcm8tZml4ZWQtaW5zdGFs bCkKKGFkZC1ob29rICdldmlsLWxvY2FsLW1vZGUtaG9vayAjJ3JlcHJvLWJyb2tlbi1pbnN0YWxs KQoKKHdpdGgtdGVtcC1idWZmZXIKICAoZXZpbC1sb2NhbC1tb2RlIDEpCiAgKHJlcHJvLWxvZyAi QlJPS0VOIGluc3RhbGxlZD8gJVMiIChyZXByby1pbnN0YWxsZWQtcCkpKQoKOzsgU2NlbmFyaW8g MjogRml4ZWQgcGF0aCBpbnN0YWxscyBkZXNwaXRlIHJhY2UgKG5vIGV4cGxpY2l0IGRpc2FibGUp CihyZW1vdmUtaG9vayAnZXZpbC1sb2NhbC1tb2RlLWhvb2sgIydyZXByby1icm9rZW4taW5zdGFs bCkKKGFkZC1ob29rICdldmlsLWxvY2FsLW1vZGUtaG9vayAjJ3JlcHJvLWZpeGVkLWluc3RhbGwp Cgood2l0aC10ZW1wLWJ1ZmZlcgogIChldmlsLWxvY2FsLW1vZGUgMSkKICAocmVwcm8tbG9nICJG SVhFRCBpbnN0YWxsZWQ/ICAlUyIgKHJlcHJvLWluc3RhbGxlZC1wKSkpCgo7OzsgcmVwcm8tZXZp bC1sb2NhbC1vdmVycmlkZS1yYWNlLmVsIGVuZHMgaGVyZQo= --20ec0e412723b91a06483ece301eb13f215a7d9b5286d7bd70264e36e200-- From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 02 01:48:58 2025 Received: (at 79305) by debbugs.gnu.org; 2 Sep 2025 05:48:59 +0000 Received: from localhost ([127.0.0.1]:59416 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1utJt4-0005QI-9x for submit@debbugs.gnu.org; Tue, 02 Sep 2025 01:48:58 -0400 Received: from mail-vs1-xe2e.google.com ([2607:f8b0:4864:20::e2e]:51396) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1utJt1-0005Px-3I for 79305@debbugs.gnu.org; Tue, 02 Sep 2025 01:48:56 -0400 Received: by mail-vs1-xe2e.google.com with SMTP id ada2fe7eead31-52dd67b03c8so1261908137.2 for <79305@debbugs.gnu.org>; Mon, 01 Sep 2025 22:48:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1756792129; x=1757396929; darn=debbugs.gnu.org; h=subject:message-id:cc:references:in-reply-to:to:date:from :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=T54QMEDEYDpysS9nq4wBALrhd9LFd/e9X3O5f3XSeHo=; b=aSEtmiupESH/PvlcXALVMbUB6d832Pj25TKkTHj3iVheIh+i36Oowps+AQ5hnpbjm1 84EJA2qajUD/k7INKnQFouWrmdHCdj06ew4CwU7JIFEA5NYttKsbKYL0aOSJCFjyV+A4 0Gou2nMurz7fRqOFTQpKJ9tBvdHEe4M8OANvBhWYellugIcwUaRwAW5RUr0Tgm3CPzso vyGrNlVMkMc2K81xY26mPXx7ZNtedp6siGKUgAlT40VhqAmSNVYRFAlgPVGOFMSizO5L mwmhd/5M/5zjvwoc7sLOb4q/+CqQ0/No5FpbRsJygPK/2AfuMCpb3j3QUfyrM8tb9jFD wIRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756792129; x=1757396929; h=subject:message-id:cc:references:in-reply-to:to:date:from :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=T54QMEDEYDpysS9nq4wBALrhd9LFd/e9X3O5f3XSeHo=; b=jqHRMdZqd3zh8RNL28wqKKz4HuknENT/WpOJ63MSa16C05PCDRs2mnFlMpZQufUvZD 20wSKvtKl269Q3LS3F9bI2htzs3YlO7UondhSyllV8ibtkl251yBg2zl2kJN33rM9m3u wJ/Ssf6/+RdRHH8GGbb0OhJYlcCxR/esCCwfYlCMub2/DTZIxNX9w8UT5fED10GYKVim QUjACbAvM9mAdd+XFOp48XwnbAy3lIeQ4n+Z7Rs90ARHsgewiLUzEfew7uHCMkwunr1W nkOePfklwHTyNcSObMqq/vWVFyIRpcfL0K0BoB1u+q7lZk1s1896xHpChC2wBdxnSfwh avUg== X-Forwarded-Encrypted: i=1; AJvYcCVUjgVWYLRExk0nBqNMWh+c4MHLCB+GM0F4BIrTJcipLI3S8AieBt0QfAUZQI23Yq6u7ZuQDQ==@debbugs.gnu.org X-Gm-Message-State: AOJu0Yx4eJzbEUaY3B2YwNWOkD2d6wOsoU3dZpdRxv5LNRpEBKD7+gCO 2/a5h5G9F14CsxYP1c6BiMSgyM6kjFkB8wiKEGpBBPXkQ3Aroac+PibLvQ4MJg== X-Gm-Gg: ASbGnctBXMdD3Udc2PX6NDYGWZuW8WkSIqkw7MgMJwmbxWVZvASOF8udAAsyq+0AWGl lQgYWF47ybj+vAkYwkxRxl/NGarvCnWUjRUUOiTgx6430xsp3GMgwd22Ic+2eKfb0+m/L3opNb/ TBx+Kgu4sWqqABLbsBG9saun8srklxS03G1PMsgtOIJZNoNWEvmITBczYOXjE7taLhCHt1RxqEa TtIvwcfmYNhtYDOb7OjmoKqNNu9ytdyYnbrw7vXYJCxXtHTq2xcBtYFeHoBmPWP08xdz4MekPDx bTTCGGIjH7JScAKaJYL/TKvRDD/uPYqtdpc8tuAjTbJBBTPC2iSKqsN5bO8YBLkFfymBr68t6nd TD1dXm0D/JSxEPaRAXIpSljAe7kWJww/Q2xVC7mvLsYj2DYatlbWyU1W2+bSxMk5YaTM= X-Google-Smtp-Source: AGHT+IHJc+MnU7+YhfBkVY2V3aK5CXeScZ7mtiwOFxA4qc7xSpsEz8IAMVRpg997Sqor4lAKZA/ncg== X-Received: by 2002:a05:6102:8099:b0:529:a2d:a5e9 with SMTP id ada2fe7eead31-52b1933add2mr2993226137.6.1756792128739; Mon, 01 Sep 2025 22:48:48 -0700 (PDT) Received: from localhost (0.92.231.35.bc.googleusercontent.com. [35.231.92.0]) by smtp.gmail.com with UTF8SMTPSA id ada2fe7eead31-52af1e46f50sm3752200137.14.2025.09.01.22.48.46 for <79305@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 01 Sep 2025 22:48:47 -0700 (PDT) Mime-Version: 1.0 From: "Aaron Jensen" Date: Tue, 02 Sep 2025 05:48:38 +0000 To: "Stefan Monnier" X-Mailer: Superhuman Desktop (2025-09-01T19:51:16Z) X-Superhuman-ID: mf24nm1r.40322ec6-f235-4138-bd05-6db81ec2a367 X-Superhuman-Draft-ID: draft00a5638deb8c46d7 In-Reply-To: References: <87zfbjswpo.fsf@zephyr.silentflame.com> <87zfbeimvq.fsf@zephyr.silentflame.com> Message-ID: Subject: Re: bug#79305: 31.0.50; MODE-set-explicitly change caused regressions in bind-map Content-Type: multipart/alternative; boundary=3005f0b27e7ed61f6646ef85cbdd51ce4e9498c1d8f630842a9958334e46 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 79305 Cc: Justin Burkett , Jonas Bernoulli , 79305@debbugs.gnu.org, Sean Whitton 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 (-) --3005f0b27e7ed61f6646ef85cbdd51ce4e9498c1d8f630842a9958334e46 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 I attempted to address the issue=C2=A0using different Evil primitives. I op= ened a PR with bind-map. I can't say for certain that it addresses every co= ncern, but I'm not having any problems with it so far. https://github.com/justbur/emacs-bind-map/pull/13 Aaron On Mon, Sep 01, 2025 at 10:20 AM, Aaron Jensen < aaronjensen@gmail.com > wr= ote: >=20 > The attached demonstrates the problem, I believe. >=20 >=20 >=20 >=20 > Aaron >=20 >=20 >=20 > On Mon, Sep 01, 2025 at 9:31 AM, Aaron Jensen < aaronjensen@ gmail. com ( > aaronjensen@gmail.com ) > wrote: >=20 >> It's my understanding that=C2=A0the check for set-explicitly is done bec= ause >> given where this hook runs, it's possible=C2=A0that the mode variable is= not >> yet initialized, which means=C2=A0that even though it eventually will be= , and >> thus could be relied on, it may not be. Therefore, bind-map relies on >> similar logic as the minor mode itself to determine whether or not the >> minor mode *will eventually* be enabled. It seems like your proposed pat= ch >> to bind-map would be subject to this "hook race". >>=20 >>=20 >>=20 >> Again, this is just an informed guess as I haven't set up the conditions >> to reproduce it yet. >>=20 >>=20 >>=20 >> I have extracted the relevant bind-map code to my own library that >> depended on it: >>=20 >>=20 >>=20 >> https:/ / github. com/ aaronjensen/ emacs-leader-key/ blob/ master/ lead= er-key. >> el#L109 ( >> https://github.com/aaronjensen/emacs-leader-key/blob/master/leader-key.e= l#L109 >> ) >>=20 >>=20 >>=20 >> Currently, it still relies on set-explicitly (accepting both forms), but >> if there's a way that we can get it to not I'd be happy to try it out. >>=20 >>=20 >>=20 >>=20 >> Aaron >>=20 >>=20 >>=20 >> On Mon, Sep 01, 2025 at 8:42 AM, Stefan Monnier < monnier@ iro. umontrea= l. >> ca ( monnier@iro.umontreal.ca ) > wrote: >>=20 >>>=20 >>>>=20 >>>>>=20 >>>>>=20 >>>>> After spending some time looking at the code, its history, and the >>>>> corresponding doc, my conclusion is that `bind-map`s code was probabl= y >>>>> incorrect already with older Emacsen (just in different ways) and its >>>>> intended behavior is far from clear, so I think it's best to leave th= is as >>>>> a WONTFIX and let `bind-map`s authors figure out what to do on their = side >>>>> (tho I'd be happy to help them figure that out). >>>>>=20 >>>>>=20 >>>>=20 >>>>=20 >>>>=20 >>>> You don't think we should even restore it and mark it as obsolete? >>>>=20 >>>>=20 >>>=20 >>>=20 >>>=20 >>> Since I believe bind-map's code was only half-working to begin with: no= , I >>> don't think it's worth the trouble. It would just help them muddle >>> through. I'd rather help them fix their code for good. >>>=20 >>>=20 >>>=20 >>> Stefan >>>=20 >>>=20 >>>=20 >>=20 >>=20 >=20 > --3005f0b27e7ed61f6646ef85cbdd51ce4e9498c1d8f630842a9958334e46 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=UTF-8
I attempted to addr= ess the issue=C2=A0using different Evil primitives. I opened a PR with bind= -map. I can't say for certain that it addresses every concern, but I= 9;m not having any problems with it so far.

=
3D"<= /div>

Aaron


On Mon, Sep 01, 2025 at 10:20 AM, = Aaron Jensen <aaronjensen@gmail.com> wrote:
The attached demonstrates the problem, I be= lieve.=C2=A0
<= br/>

Aaron


On Mon, Sep 01, 2025 at 9:31 AM, Aaron Jensen <aa= ronjensen@gmail.com> wrote:
It&#= 39;s my understanding that=C2=A0the check for set-explicitly is done becaus= e given where this hook runs, it's possible=C2=A0that the mode variable= is not yet initialized, which means=C2=A0that even though it eventually wi= ll be, and thus could be relied on, it may not be. Therefore, bind-map reli= es on similar logic as the minor mode itself to determine whether or not th= e minor mode *will eventually* be enabled. It seems like your proposed patc= h to bind-map would be subject to this "hook race".

Again, this is just an informed guess as I haven't set up the = conditions to reproduce it yet.

I have extracted th= e relevant bind-map code to my own library that depended on it:
<= div class=3D"sh-color-black sh-color">

<= /div>
Currently, it still relies on s= et-explicitly (accepting both forms), but if there's a way that we can = get it to not I'd be happy to try it out.


Aaron

On Mon, Sep 01, 2025 at 8:42 AM, Stefan M= onnier <monnier@iro.umontreal.ca> wrote:

After spending some time looking at the code, its history, and the corresponding doc, my conclusion is that `bind-map`s code was probably incorrect already with older Emacsen (just in different ways) and its intended behavior is far from clear, so I think it's best to leave this as a WONTFIX and let `bind-map`s authors figure out what to do on their side (tho I'd be happy to help them figure that out).

You don't think we should even restore it and mark it as obsolete?

Since I believe bind-map's code was only half-working to begin with: no= , I don't think it's worth the trouble. It would just help them muddle through. I'd rather help them fix their code for good.

Stefan


= --3005f0b27e7ed61f6646ef85cbdd51ce4e9498c1d8f630842a9958334e46-- From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 03 18:43:23 2025 Received: (at 79305) by debbugs.gnu.org; 3 Sep 2025 22:43:24 +0000 Received: from localhost ([127.0.0.1]:43201 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1utwCJ-0005dw-HT for submit@debbugs.gnu.org; Wed, 03 Sep 2025 18:43:23 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:46226) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1utwCI-0005dZ-0N for 79305@debbugs.gnu.org; Wed, 03 Sep 2025 18:43:22 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 301021000BC; Wed, 3 Sep 2025 18:43:15 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1756939394; bh=BfO7QFUgOhFD3ec5MR8vHEM3M+vxyYOdzV3jGZL3kRY=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=V4wiMpj4plwgA2VC6a05yaqW2ulN/TNMnTeNTYoK8C9E2xlbttPV+nuKRdg1dV4O9 WDC/CuO8QbCnifr4scnuY4wjPZkH0KdY8p4koYZJaZ9+wcn44eWRHb9rreRQRTEks3 a/bhO3C1wHOo8tb5BFlyua0CHULbK+XCjOIltCpEy9dLiBK7+2h1JWkdRpLQtGAMDA WZqCr1w1iu579YWGdRfpM247DJHGLsmXNMZReXV4HqOKQVrIDDxSgH4EJXUeskkrmQ z9jQ8uex2yk/UZYRRHjPCdBmbsWr9065Debqmjiw+V8RQp/nEUoASEEhUzZ0eOCjg2 hDTbUmy1CJROw== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 3174910002E; Wed, 3 Sep 2025 18:43:14 -0400 (EDT) Received: from alfajor (69-165-161-194.dsl.teksavvy.com [69.165.161.194]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id E87E6120454; Wed, 3 Sep 2025 18:43:13 -0400 (EDT) From: Stefan Monnier To: "Aaron Jensen" Subject: Re: bug#79305: 31.0.50; MODE-set-explicitly change caused regressions in bind-map In-Reply-To: Message-ID: References: <87zfbjswpo.fsf@zephyr.silentflame.com> <87zfbeimvq.fsf@zephyr.silentflame.com> Date: Wed, 03 Sep 2025 18:43:12 -0400 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.048 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 79305 Cc: Justin Burkett , Jonas Bernoulli , 79305@debbugs.gnu.org, Sean Whitton 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 (---) > ;; Common sequence for both tests (identical order): > ;; - New buffer > ;; - Do NOT touch the per-buffer mode var (it is naturally nil here) > ;; - Enable Evil locally (hook fires while per-buffer mode is still nil) > > ;; Scenario 1: Broken path misses install due to requiring buffer-local mode > (remove-hook 'evil-local-mode-hook #'repro-broken-install) > (remove-hook 'evil-local-mode-hook #'repro-fixed-install) > (add-hook 'evil-local-mode-hook #'repro-broken-install) > > (with-temp-buffer > (evil-local-mode 1) > (repro-log "BROKEN installed? %S" (repro-installed-p))) I don't understand the intention behind this test: a temp buffer is not expected to be exposed to the user, so the specific way `evil-mode` behaves in it doesn't seem very relevant. Also, the `repro-override-mode` is not enabled in that buffer, so IIUC the `repro-key` binding should not be active, so it would be a bug if (repro-installed-p) to returned non-nil, right? Stefan From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 03 19:01:07 2025 Received: (at 79305) by debbugs.gnu.org; 3 Sep 2025 23:01:07 +0000 Received: from localhost ([127.0.0.1]:43260 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1utwTS-0006Wu-Ji for submit@debbugs.gnu.org; Wed, 03 Sep 2025 19:01:07 -0400 Received: from mail-vs1-xe2e.google.com ([2607:f8b0:4864:20::e2e]:52546) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1utwTP-0006WG-FQ for 79305@debbugs.gnu.org; Wed, 03 Sep 2025 19:01:04 -0400 Received: by mail-vs1-xe2e.google.com with SMTP id ada2fe7eead31-52af5df0fdaso168309137.1 for <79305@debbugs.gnu.org>; Wed, 03 Sep 2025 16:01:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1756940457; x=1757545257; darn=debbugs.gnu.org; h=cc:to:message-id:date:subject:from:references:in-reply-to :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=C67QPoLvCIelFg+z7UoQ19kXOLkBCHYK1OhoT2zF9kM=; b=IdUnu3dsABlihzktXHg2w5HAHqnzhyzwJu8N5pSj0Y84QcjuLqw7KzWtkGX5/M8I1O jFi14WDYfsZUCMB6AKiw/68JG6f8n16s5SEIYMOpnENZfgDH6V+gQfxGXW6MyBnuJQzQ qcD4sJcJT8cK9TAFtus7sRYYdDGNXUMKrBRuNJVLhSK1cR/XXEs7PEokQNSkOV7AOQIa DZgBjP957AA7A+dYsumZ8t76nw7AMeEvH9ZjJi9jrNOecOMf3m0HOHDl9ROAaRBvtVz1 0rUeukUzMozEOxtMZP/FrNOjv1joaGguz6eRoPN6+6EVg5SXSQh/5RDcAbldjga7Ux5U NXlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756940457; x=1757545257; h=cc:to:message-id:date:subject:from:references:in-reply-to :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=C67QPoLvCIelFg+z7UoQ19kXOLkBCHYK1OhoT2zF9kM=; b=aMXApOWWaGV5MsgvKTiI74HNygR9vOMPm9CsPPoz2JegIMHzrRq5UENzpp/1BjUFm8 zJ/lmHQzLC1pGuyWqUj4I4r+XCaI/WOWobUJ35ifT4lYSaqXwZqcXUxVPdyt+6aGbYhr WMi1LcFSqyLjW3MwS7Y56wQAojgjauNHEgvfi/2RRD6sk8wQwOh6p8ye34jYBFgsG3F/ opM0AsoyvhPl6JzCxrn2TikKeVhwabK7g35cHap7b7aC6dv2yX2KFyDKgnuAQdgrcnzo zwN5eBkJUAu6CgmyON6er8v3+tse3Lh8UDwJ+ajHEIQJT+JvxcGRmF3eP/BOa28Wr+GW YTpg== X-Forwarded-Encrypted: i=1; AJvYcCUloJPTRlK/HnV3MLvfSl7zq44F7bU3oEOiKeeXcdi9KYFlm7pchT1o8yp70RIW3biMaszXzg==@debbugs.gnu.org X-Gm-Message-State: AOJu0YziUJaF92DE1RpXKqt/rzYU1R3zAUCEA7tRu+RK98cwr998GisX xiyLIYHe5U/7Kmeg8JhGE/b+96gwhXbNQ396H1c72sD8Y0n+2OaJssyNZn80Hg== X-Gm-Gg: ASbGnctFybh+yxoHJ0q2tSQKevj/0L73s9S4f1+hmGP3hJU+l8YS+S+C07NIrx95pXl FuZAmh7D0uYkiXSUJ4iqKeYBYp1Z5uEFVoTMU/B7etMXtb0J0hTL5wrNVF3V7aiJzsVzLTKTnoC RXY2WfRxG2kwp51VNfSzOFxP85NxVXFK2n25cNLk3MK6SAG9ySqZ6duml2duS5pSrdOpkdxRNzs DxSW3JUEHSrVmMzAtbxarQ15n6Oh3tbzXf2JLX9SmC3dhLA+611MeMvNBSGrQYUvb9EeHwkFNLg tfrmsIgc0eWa/8h86UKB7PLg4wxT0O/QM0ML+hk3fzzSNN1RYFiAfh/OOpRtrv+a0zW8jbv2RSB RqgprI54bM3xpGyiP2zN9SBBBagHA1A5oPRHiEWKCySAborT4VgJasOQcUqqOPDjKJC8= X-Google-Smtp-Source: AGHT+IHjJdsDnRRK+1kSUdB1DK0OgorVC3hUyLvEKCJeUIdWIFx486W1dz1f0t1X+HzYwTJAg5AYkw== X-Received: by 2002:a05:6102:6889:b0:52a:1ff2:da15 with SMTP id ada2fe7eead31-52b1a483dddmr5873567137.15.1756940456733; Wed, 03 Sep 2025 16:00:56 -0700 (PDT) Received: from localhost (0.92.231.35.bc.googleusercontent.com. [35.231.92.0]) by smtp.gmail.com with UTF8SMTPSA id a1e0cc1a2514c-899d7986b82sm1777489241.17.2025.09.03.16.00.56 for <79305@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 03 Sep 2025 16:00:56 -0700 (PDT) Mime-Version: 1.0 X-Superhuman-Draft-ID: draft0003f113b04bbc82 In-Reply-To: References: <87zfbjswpo.fsf@zephyr.silentflame.com> <87zfbeimvq.fsf@zephyr.silentflame.com> From: "Aaron Jensen" Subject: Re: bug#79305: 31.0.50; MODE-set-explicitly change caused regressions in bind-map X-Mailer: Superhuman Desktop (2025-09-02T19:05:54Z) Date: Wed, 03 Sep 2025 23:00:51 +0000 Message-ID: To: "Stefan Monnier" X-Superhuman-ID: mf4kywlb.10795b1b-301a-4c66-9519-f8acf397be5c Content-Type: multipart/alternative; boundary=b518e0234389a925034f59512d1a055ec641f6db609a839f2c51f4f704eb X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 79305 Cc: Justin Burkett , Jonas Bernoulli , 79305@debbugs.gnu.org, Sean Whitton 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 (-) --b518e0234389a925034f59512d1a055ec641f6db609a839f2c51f4f704eb Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 On Wed, Sep 03, 2025 at 3:43 PM, Stefan Monnier < monnier@iro.umontreal.ca = > wrote: >=20 >=20 >>=20 >>=20 >> ;; Common sequence for both tests (identical order): >> ;; - New buffer >> ;; - Do NOT touch the per-buffer mode var (it is naturally nil here) >> ;; - Enable Evil locally (hook fires while per-buffer mode is still nil) >>=20 >>=20 >>=20 >> ;; Scenario 1: Broken path misses install due to requiring buffer-local >> mode >> (remove-hook 'evil-local-mode-hook #'repro-broken-install) >> (remove-hook 'evil-local-mode-hook #'repro-fixed-install) >> (add-hook 'evil-local-mode-hook #'repro-broken-install) >>=20 >>=20 >>=20 >> (with-temp-buffer >> (evil-local-mode 1) >> (repro-log "BROKEN installed? %S" (repro-installed-p))) >>=20 >>=20 >=20 >=20 >=20 > I don't understand the intention behind this test: a temp buffer is not > expected to be exposed to the user, so the specific way `evil-mode` > behaves in it doesn't seem very relevant. >=20 >=20 >=20 >=20 You can try it interactively, but the steps are a little different. If you = comment everything below the scenario 1 hooks and then run: emacs -Q -l scripts/repro-evil-local-override-race.el Then M-x evil-mode Then C-x C-f somefile Then SPC x It will not invoke the binding. If you then comment the Scenario 1 hooks and comment the Scenario=C2=A02 ho= oks and try the same thing, SPC x will be bound. >=20 >=20 >=20 > Also, the `repro-override-mode` is not enabled in that buffer, so IIUC th= e > `repro-key` binding should not be active, so it would be a bug if >=20 >=20 >=20 > (repro-installed-p) to returned non-nil, right? >=20 >=20 >=20 >=20 It's globalized and is enabled via: (global-repro-override-mode 1) Globalized minor modes are the problematic thing here. Aaron --b518e0234389a925034f59512d1a055ec641f6db609a839f2c51f4f704eb Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=UTF-8
On Wed, Sep 03, 2025 at 3:43 PM, Stefan Monnier= <monnier@iro.umontreal.ca> wrote:
;; Common sequence for both tests (identical order):
;; - New buffer
;; - Do NOT touch the per-buffer mode var (it is naturally nil here)
;; - Enable Evil locally (hook fires while per-buffer mode is still nil)

;; Scenario 1: Broken path misses install due to requiring buffer-local mod= e
(remove-hook 'evil-local-mode-hook #'repro-broken-install)
(remove-hook 'evil-local-mode-hook #'repro-fixed-install)
(add-hook 'evil-local-mode-hook #'repro-broken-install)

(with-temp-buffer
(evil-local-mode 1)
(repro-log "BROKEN installed? %S" (repro-installed-p)))

I don't understand the intention behind this test: a temp buffer is not expected to be exposed to the user, so the specific way `evil-mode` behaves in it doesn't seem very relevant.


You can try it intera= ctively, but the steps are a little different. If you comment everything be= low the scenario 1 hooks and then run:

emacs -Q -l scripts/repro-evil-local-override-race.el

=
Then M-x evil-mode
Then C-x C-f somefile
Then SPC x

It will not invoke the bin= ding.

If you then comment the Scenario 1 hoo= ks and comment the Scenario=C2=A02 hooks and try the same thing, SPC x will= be bound.

Also, the `rep= ro-override-mode` is not enabled in that buffer, so IIUC the `repro-key` binding should not be active, so it would be a bug if

(repro-installed-p) to returned non-nil, right?


It's globalized= and is enabled via:

(global-repro-ove= rride-mode 1)

Globalized minor modes are the= problematic thing here.

Aaron
3D"<= /div>
--b518e0234389a925034f59512d1a055ec641f6db609a839f2c51f4f704eb-- From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 03 23:08:02 2025 Received: (at 79305) by debbugs.gnu.org; 4 Sep 2025 03:08:02 +0000 Received: from localhost ([127.0.0.1]:44243 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uu0KP-0004Tj-T7 for submit@debbugs.gnu.org; Wed, 03 Sep 2025 23:08:02 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:9300) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uu0KM-0004TB-4W for 79305@debbugs.gnu.org; Wed, 03 Sep 2025 23:07:58 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id A8CA31000BC; Wed, 3 Sep 2025 23:07:51 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1756955270; bh=9X6cfDiSyM9ZObwouNqBnPrSqwqinqXGDUFqbB+ToYc=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=FpzbRQNm0sSdLeEfisUlSnXiQmebskAHz3q18at7TjCSS909oIPGlN3evz/Wdy4xx O8X1uqTBmEbfOOFSPfGu8LQ+MyeQuGVARWo26bWj4Zbf7C7bA29jTCc4HSJZCYXo3C ps8MQY8ZqxaVxQZctpmSTP/Gb5XIA3MhyvJyYbrHpmHW2pwfnHwqpKbxJnX8Ep6lho kI/yd89yCV+bOaPJCnSqEyzeHjIfHMPFhx9piH7bWHFhFoq7nJrn6nVcYUSizI4HcA amU0WAbzKOV0gr6oq1lnNrXAolQnjp3OQVxdRr0UtT6G5UpKZAOq247VT7tpqrJ86U vrs3IcBnghKnw== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id B5F9F10002E; Wed, 3 Sep 2025 23:07:50 -0400 (EDT) Received: from alfajor (69-165-161-194.dsl.teksavvy.com [69.165.161.194]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 76D811202E2; Wed, 3 Sep 2025 23:07:50 -0400 (EDT) From: Stefan Monnier To: "Aaron Jensen" Subject: Re: bug#79305: 31.0.50; MODE-set-explicitly change caused regressions in bind-map In-Reply-To: Message-ID: References: <87zfbjswpo.fsf@zephyr.silentflame.com> <87zfbeimvq.fsf@zephyr.silentflame.com> Date: Wed, 03 Sep 2025 23:07:49 -0400 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.046 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 79305 Cc: Justin Burkett , Jonas Bernoulli , 79305@debbugs.gnu.org, Sean Whitton 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 (---) > You can try it interactively, but the steps are a little different. If you > comment everything below the scenario 1 hooks and then run: > > emacs -Q -l scripts/repro-evil-local-override-race.el > > Then M-x evil-mode > > Then C-x C-f somefile > > Then SPC x > > It will not invoke the binding. > > If you then comment the Scenario 1 hooks and comment the Scenario=A02 hoo= ks > and try the same thing, SPC x will be bound. I don't understand enough of what these things mean to know what is supposed to be the right behavior (and why). Is this `SPC x` key supposed to be bound if and only if the `repro-override-mode` is enabled? >> Also, the `repro-override-mode` is not enabled in that buffer, so IIUC t= he >> `repro-key` binding should not be active, so it would be a bug if >>=20 >> (repro-installed-p) to returned non-nil, right? > > It's globalized and is enabled via: > > (global-repro-override-mode 1) Right, but that just means the buffer-local mode should be enabled in some buffers according to some rule. In your tests, you run the tests in a temp buffer where the globalized mode hasn't even had a chance to enable the buffer-local minor mode, so the buffer-local minor is off. Stefan From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 03 23:39:09 2025 Received: (at 79305) by debbugs.gnu.org; 4 Sep 2025 03:39:09 +0000 Received: from localhost ([127.0.0.1]:44279 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uu0oW-0005pA-G7 for submit@debbugs.gnu.org; Wed, 03 Sep 2025 23:39:09 -0400 Received: from mail-vk1-xa2f.google.com ([2607:f8b0:4864:20::a2f]:44477) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uu0oS-0005oc-7K for 79305@debbugs.gnu.org; Wed, 03 Sep 2025 23:39:06 -0400 Received: by mail-vk1-xa2f.google.com with SMTP id 71dfb90a1353d-544c598b9a4so207406e0c.1 for <79305@debbugs.gnu.org>; Wed, 03 Sep 2025 20:39:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1756957138; x=1757561938; darn=debbugs.gnu.org; h=subject:message-id:from:cc:to:date:references:in-reply-to :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=jVe+vds1t2wDIrb2+tyL+RqXcP9nyvs2eydXOupRrLo=; b=iN10aS61fL+ChVVMASlhnW36cymbjeumuOImUaUgUnBHakaSrcT/+OK0Jk1j7o+BSh LT9HYNAGzaloNNxQ02O4zd392Ab5cxzdI8RpoOO18I/KfhbNEzn4sLCH5ii6nlMxw86f wdMfAuOkZwbUha1rxkrCbXc0t+Pqxx27b3g2qM92Bv4BfZXbI+v2P6ouEZPkVmD+Z1MT uLwMLa1wTxYCN2sY88MO8JZOt/TsYHvClbkn8UTKg4XZRMi2j27H9RfZbA2vmmFX64Kj 7r8DcGTZalUL4q3iehYZqFSYW/6ztRPab7P/+f5HYGRbUDtUkzwzhgl4OoMmqOLYLxtn 5Kfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756957138; x=1757561938; h=subject:message-id:from:cc:to:date:references:in-reply-to :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=jVe+vds1t2wDIrb2+tyL+RqXcP9nyvs2eydXOupRrLo=; b=NY8S6s5xP/L0O/ZXvdoBpvPjflxiL/bPgHnnoxzCdMswMFEiDNlQbq6vqgYCkczXKv CnonSWYxUAbDQVP6EB9inx+rc/8VwIj0j2kKg+YuF1BF39gLeYjoPUINB9fv4GJ+GTH4 +HDIi5aOInzTm9xtNtlSiWHGF8QjcqV7ZsdguDYerfU23XAeQvIQR4tnLimjpvQysNe+ jMmPXpwuZgG7q7TV7TW7dUpoPXVEAVQ8A524mx1tG8K7fIFz+TjU2Dq2Vbsw8lyqCLJS pDFrX9p4xpR7CTUFIJU2De3Bs6Uzk/7VBOynhi0RdaspD8SAoEPQ8tHgx8Xvmj0tE95V C2GA== X-Forwarded-Encrypted: i=1; AJvYcCV/Q/Kgdn8QUag5WLswZxmmgN30dTW5oNI6Bf5ptQ0KQJWPjsfe+7/JhWXlAvh/h1haKSPtHg==@debbugs.gnu.org X-Gm-Message-State: AOJu0YxOp9Vonzx3E5WhwFwn09kfsI0bCd1e6AmheVwFdCEQd9Xepggj ev7Yg2sidg97XCQcA5v4Y7A/Wdk1WvLmFPTqUv8TxfGj+RTPJyj4PznNcbrEdQ== X-Gm-Gg: ASbGncvXRgKgvn4c8m4l++59MpPiUcrPjKWMvIs4Gk3gQgva5UIbbdP9wJptqA8P648 9zUbjY7ugUhnBIxP/20MjTmNGE/rOTHq0GmWqHI5aTcjmZ4YtcklbaG0IXDgTfdZaQoowwpf9ZI bujmi77JnICaBd90JTxPWYV4jL9qYZ3nZPB1+EOWSt9Ul8kp7LflXI6VfAXDeWcNUSaDOn3qC+N 3hzVXq5JOQ1Q9HI5U+PQ1K4YtW51NaMePXlcKxLdcbEXXwWsGm8J89daNjcEVfcUNmA8p7FpzWI q1UY7ZOZsBS2wxUbrhSvrLmVw3mYREldJZle46nBMmFNkQBG55eYqfyfDHJxyXaOW5b5r15VT3L znrk3TgbTMmM2tHDok1LIEmH2Kwp7AfylVKRJdbrtKiiStrdvjb4VQFNR X-Google-Smtp-Source: AGHT+IHdkmF1+Ezc6FoUmqRDW9vAyQyfoqItz9zDpPTq/5I1nCWgm8LUYQ2g3rcGMyuFN4FpWDzX5A== X-Received: by 2002:a05:6122:3c95:b0:53c:6d68:1cd6 with SMTP id 71dfb90a1353d-544a02b3eccmr6276652e0c.16.1756957137670; Wed, 03 Sep 2025 20:38:57 -0700 (PDT) Received: from localhost (0.92.231.35.bc.googleusercontent.com. [35.231.92.0]) by smtp.gmail.com with UTF8SMTPSA id 71dfb90a1353d-54491464a00sm7597899e0c.16.2025.09.03.20.38.57 for <79305@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 03 Sep 2025 20:38:57 -0700 (PDT) Mime-Version: 1.0 In-Reply-To: References: <87zfbjswpo.fsf@zephyr.silentflame.com> <87zfbeimvq.fsf@zephyr.silentflame.com> Date: Thu, 04 Sep 2025 03:38:53 +0000 To: "Stefan Monnier" X-Mailer: Superhuman Desktop (2025-09-03T19:06:00Z) X-Superhuman-Draft-ID: draft00be55b68dfc9d8e From: "Aaron Jensen" Message-ID: Subject: Re: bug#79305: 31.0.50; MODE-set-explicitly change caused regressions in bind-map X-Superhuman-ID: mf4uwug1.4861c148-756a-4ce9-997d-fab1e30c869b Content-Type: multipart/alternative; boundary=6a71c0bff66865c8446218c1d71a7c337fb83835998f5ab91bb9b1493b68 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 79305 Cc: Justin Burkett , Jonas Bernoulli , 79305@debbugs.gnu.org, Sean Whitton 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 (-) --6a71c0bff66865c8446218c1d71a7c337fb83835998f5ab91bb9b1493b68 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 On Wed, Sep 03, 2025 at 8:07 PM, Stefan Monnier < monnier@iro.umontreal.ca = > wrote: >=20 >=20 >>=20 >>=20 >> You can try it interactively, but the steps are a little different. If y= ou >> comment everything below the scenario 1 hooks and then run: >>=20 >>=20 >>=20 >>=20 >> emacs -Q -l scripts/repro-evil-local-override-race.el >>=20 >>=20 >>=20 >>=20 >> Then M-x evil-mode >>=20 >>=20 >>=20 >>=20 >> Then C-x C-f somefile >>=20 >>=20 >>=20 >>=20 >> Then SPC x >>=20 >>=20 >>=20 >>=20 >> It will not invoke the binding. >>=20 >>=20 >>=20 >>=20 >> If you then comment the Scenario 1 hooks and comment the Scenario=C2=A02= hooks >> and try the same thing, SPC x will be bound. >>=20 >>=20 >>=20 >=20 >=20 >=20 > I don't understand enough of what these things mean to know what is > supposed to be the right behavior (and why). >=20 >=20 >=20 >=20 > Is this `SPC x` key supposed to be bound if and only if the > `repro-override-mode` is enabled? >=20 >=20 >=20 Yes. This is how bind-map works. It adds to `evil-normal-state-local-map`, = which is a buffer local key map. It does this in response to=C2=A0evil-loca= l-mode-hook, which, when evil-mode is enabled, will trigger in most buffers= , and when it does, if the globalized minor mode being considered has not y= et been initialized=C2=A0(as you mention below) then it cannot simply use t= he mode variable to determine if it's enabled. That's the inherent ordering= problem. There are effectively two globalized minor modes that are order d= ependent. The work around present in bind-map (and eliminated in your propo= sed patch to bind-map) is to check to see if the globalized minor mode *wil= l* be enabled eventually by using the same criteria used to enable it later= . To be clear, I think this is a flaw in bind-map. I shared the repro before = I figured out an alternative that does not have this limitation and is more= in line with how evil seems to work. In other words, you may feel free to = disregard this repro and proceed with closing this bug if you like. I don't= know if bind-map will be updated or not, but=C2=A0it does seem like it's n= ot essential for it to use to the set-explicitly internal variable. Aaron --6a71c0bff66865c8446218c1d71a7c337fb83835998f5ab91bb9b1493b68 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=UTF-8
On Wed, Sep 03, 2025 at 8:07 PM, Stefan Monnier= <monnier@iro.umontreal.ca> wrote:
You can try it interactively, but the steps are a little different. If you comment everything below the scenario 1 hooks and then run:

emacs -Q -l scripts/repro-evil-local-override-race.el

Then M-x evil-mode

Then C-x C-f somefile

Then SPC x

It will not invoke the binding.

If you then comment the Scenario 1 hooks and comment the Scenario=C2=A02 ho= oks and try the same thing, SPC x will be bound.

I don't understand enough of what these things mean to know what is supposed to be the right behavior (and why).

Is this `SPC x` key supposed to be bound if and only if the
`repro-override-mode` is enabled?

<= /div>

Yes. This is how bind-map works. It ad= ds to `evil-normal-state-local-map`, which is a buffer local key map. It do= es this in response to=C2=A0evil-local-mode-hook, which, when evil-mode is = enabled, will trigger in most buffers, and when it does, if the globalized = minor mode being considered has not yet been initialized=C2=A0(as you menti= on below) then it cannot simply use the mode variable to determine if it= 9;s enabled. That's the inherent ordering problem. There are effectivel= y two globalized minor modes that are order dependent. The work around pres= ent in bind-map (and eliminated in your proposed patch to bind-map) is to c= heck to see if the globalized minor mode *will* be enabled eventually by us= ing the same criteria used to enable it later.

To be clear, I think this is a flaw in bind-map. I shared the repro befo= re I figured out an alternative that does not have this limitation and is m= ore in line with how evil seems to work. In other words, you may feel free = to disregard this repro and proceed with closing this bug if you like. I do= n't know if bind-map will be updated or not, but=C2=A0it does seem like= it's not essential for it to use to the set-explicitly internal variab= le.

Aaron

<= div>
3D"
--6a71c0bff66865c8446218c1d71a7c337fb83835998f5ab91bb9b1493b68-- From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 04 00:25:29 2025 Received: (at 79305) by debbugs.gnu.org; 4 Sep 2025 04:25:29 +0000 Received: from localhost ([127.0.0.1]:44406 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uu1XN-0008GJ-3w for submit@debbugs.gnu.org; Thu, 04 Sep 2025 00:25:29 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:64895) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uu1XK-0008Fq-NZ for 79305@debbugs.gnu.org; Thu, 04 Sep 2025 00:25:27 -0400 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 7208380BF9; Thu, 4 Sep 2025 00:25:20 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1756959919; bh=jQYtF7kjskpIq9KZLMhnWKY00WFG+Bqu03xZHi0O0wA=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=od+I4iWc+/NUJ27mclAS59ttG6hFnli3LGVtt0vkxA5kMF2RUCVR85t0miUNvgW6t MDFK1eLk5hHpt8xV5Pp+YUaQOPpYn7Jgu5nmOs0zNYsw5dgGY5FAfJw7ozETbBfvkx JB0L/XsAMpbKu2yM+5mvGEfRaVnj12pBF2joNnwPZeC8TyaE3GfSyPrhKKSKV6YViK vgRraFqRQOsx4Op1dPKRPQb3LQpgX7tkOZrjrmwBigncIsl6FKNhl9hC3eTQ3D6F2w siEl2ysqZRoH9Ysh67YtLGMIqvTKTCZEvYgDC1zwXZEh82gEel4qaJYoDWadN1hH/+ QvN9pQGxL9yHQ== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 83509806D1; Thu, 4 Sep 2025 00:25:19 -0400 (EDT) Received: from alfajor (69-165-161-194.dsl.teksavvy.com [69.165.161.194]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 4251E120372; Thu, 4 Sep 2025 00:25:19 -0400 (EDT) From: Stefan Monnier To: "Aaron Jensen" Subject: Re: bug#79305: 31.0.50; MODE-set-explicitly change caused regressions in bind-map In-Reply-To: Message-ID: References: <87zfbjswpo.fsf@zephyr.silentflame.com> <87zfbeimvq.fsf@zephyr.silentflame.com> Date: Thu, 04 Sep 2025 00:25:18 -0400 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.202 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 79305 Cc: Justin Burkett , Jonas Bernoulli , 79305@debbugs.gnu.org, Sean Whitton 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 (---) > Yes. This is how bind-map works. [ My questions are about how it *should* work rather than how it works. ] > It adds to `evil-normal-state-local-map`, > which is a buffer local key map. It does this in response > to=A0evil-local-mode-hook, which, when evil-mode is enabled, will trigger= in > most buffers, and when it does, if the globalized minor mode being > considered has not yet been initialized=A0(as you mention below) then it [ In your examples, while the globalized major mode has not been initialized, it *will not* be initialized later either, AFAICT. ] > cannot simply use the mode variable to determine if it's enabled. Another way to look at the problem: when the minor mode is enabled or disabled (which can happen at any time), which part of bind-map reacts to update `evil-normal-state-local-map`? > To be clear, I think this is a flaw in bind-map. I shared the repro before > I figured out an alternative that does not have this limitation and is mo= re > in line with how evil seems to work. In other words, you may feel free to > disregard this repro and proceed with closing this bug if you like. I do= n't > know if bind-map will be updated or not, but=A0it does seem like it's not > essential for it to use to the set-explicitly internal variable. I think you're reaching the same conclusion I had reached, indeed: the approach used currently in bind-map is flawed and works only in some/most circumstances. Stefan From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 04 00:46:50 2025 Received: (at 79305) by debbugs.gnu.org; 4 Sep 2025 04:46:50 +0000 Received: from localhost ([127.0.0.1]:44450 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uu1s1-0000oj-Ra for submit@debbugs.gnu.org; Thu, 04 Sep 2025 00:46:50 -0400 Received: from mail-ua1-x92f.google.com ([2607:f8b0:4864:20::92f]:58701) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uu1ry-0000oM-Rs for 79305@debbugs.gnu.org; Thu, 04 Sep 2025 00:46:48 -0400 Received: by mail-ua1-x92f.google.com with SMTP id a1e0cc1a2514c-89018fa6f6dso165756241.1 for <79305@debbugs.gnu.org>; Wed, 03 Sep 2025 21:46:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1756961200; x=1757566000; darn=debbugs.gnu.org; h=to:subject:date:from:cc:message-id:references:in-reply-to :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=XNMGCG853Bc8B7KL1c5vmWQBAq3cKgWfyYcKCQx5EAc=; b=FzW4xldcd+RI8Ji7wujZzz0ZidxYKS6YPr9UfLCT9IkeuGH8iagxKGT+Afphpe/uAW tuJxQerv94ZDvYhLZc7E0snBuX9Ue9yWZ9tA1OPxgx3VhK882KDGplkgPf1ZF1XbzRVM S8EiJsMqHIpUEz64IMqix4ZDpvc/GVyoHjK2aNDGLYAUbUVNoDNWfqOR4+YMNuNn4hur J566vhEqfCcNFLCJOhImYSdyU6pHNmcHzy+1gBhkVUGLpbnRdXX+QETSlflILSjJ//jH /qRmjp8YVnUwo3ShaU5rOrpF1U+iLBR0yvyYuQCUAowZ+mYKKRMBEXZFnDtdAz24/U6I EffQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756961200; x=1757566000; h=to:subject:date:from:cc:message-id:references:in-reply-to :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=XNMGCG853Bc8B7KL1c5vmWQBAq3cKgWfyYcKCQx5EAc=; b=VN2w+66ynhx9NDV/U0QrPFI/w8rbo5KpMb0OSmmf305tsO3nV7+40fhisOjQGg/e3+ /GTMIShv5QcTb6gUPLbBWlc9TFaeG+6qaQ23CEOXegd7gbJeJ/+AvvNply9DiwPZv6Dk E2mOO4GvR1aqPQk6pZqeHBwGdhyoVumAcMBam/5UqIxT9aSWgrL8qwru5nW3OIXor3uC kGUvMUNCZzFPa0EnwmShaCkp9/TBDW6uuskYzs87nRcvENjHzoqwYeLPw5K4OxiAmTMI ttyGKlpbL76xaovoL3r9XR1TGTJnTCZxNJUWtsn+8jOccvmrRsNZysTamPSuv0v/DA/m +i9Q== X-Forwarded-Encrypted: i=1; AJvYcCVu8rn9+kal6vYPab3VMFOqzLmdQH3yXugnYvJbaTHbEPKdTSuQKv1AzzZ1T7SDyGO8LUZ/hA==@debbugs.gnu.org X-Gm-Message-State: AOJu0YzMHERAO+0GvgMw+SUS7hRIK+Tp2jlLSaVyTmBza2B7e1L8EvBe P5K+4WygbPoYldRQvkNkD/TOmGVzc2fySLto/eWrdk0uTJInLhZ/Qzxvhj8NSg== X-Gm-Gg: ASbGncvSWF7NlNRYyZoI1Pc0DjwE3QKqaPOv0AkInHvPa7/S09ITKKaunMWtAqGi6q1 EirqlrPVPdYHlBtMk81H1OMRutXB+yW3H1SGQPGPzJsAbV9An5WDCkgIWYc0J9X1Jdd6hYNZC8B 9JdC8Xqs1P0aBuIFBkkVFqaGJ6cyLtM9F04T76SFYj82tWqj57shNCfYTu5WeXeouTDbHPGBFeJ +cd8tMD3LU677LgKOXljmv4tfn2rtsAUSQ1ZMoyuCZ9jXukRjj1AsoCk8Y7CIkdqaXpFnuoKhXp jXOssthkgMrnijI1Rjk2B5AaWFuU+BJHPFKc+yd4Go5Wf9Av6XbTrulfVFLkA4zwnLgB2wbfuwp tDygFBE/tUabiSP0XyHX2mOmDPX8UBDzs17rU49vj8v79yQP+SnUnPkcM X-Google-Smtp-Source: AGHT+IFxd3hOjoJLMEYdZqeHloxxcnhGbNiwndJKgheqGF4Zx116atL/hrdFzA4KHDMGRenLmWvsBw== X-Received: by 2002:a05:6102:330a:b0:4f7:d553:3cfa with SMTP id ada2fe7eead31-52b1a081856mr5039804137.12.1756961200389; Wed, 03 Sep 2025 21:46:40 -0700 (PDT) Received: from localhost (0.92.231.35.bc.googleusercontent.com. [35.231.92.0]) by smtp.gmail.com with UTF8SMTPSA id a1e0cc1a2514c-895fba9791dsm4858966241.16.2025.09.03.21.46.40 for <79305@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 03 Sep 2025 21:46:40 -0700 (PDT) Mime-Version: 1.0 X-Mailer: Superhuman Desktop (2025-09-03T19:06:00Z) In-Reply-To: References: <87zfbjswpo.fsf@zephyr.silentflame.com> <87zfbeimvq.fsf@zephyr.silentflame.com> Message-ID: X-Superhuman-ID: mf4xbimk.ea3536f4-a9ac-4d9e-bee6-779d96c95b64 X-Superhuman-Draft-ID: draft009a01f1d46c800a From: "Aaron Jensen" Date: Thu, 04 Sep 2025 04:46:34 +0000 Subject: Re: bug#79305: 31.0.50; MODE-set-explicitly change caused regressions in bind-map To: "Stefan Monnier" Content-Type: multipart/alternative; boundary=14a2b7bbdc6bb5dbf2387d7e7448f887c41ad611a85502a91b95e7cfe6bb X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 79305 Cc: Justin Burkett , Jonas Bernoulli , 79305@debbugs.gnu.org, Sean Whitton 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 (-) --14a2b7bbdc6bb5dbf2387d7e7448f887c41ad611a85502a91b95e7cfe6bb Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 On Wed, Sep 03, 2025 at 9:25 PM, Stefan Monnier < monnier@iro.umontreal.ca = > wrote: >=20 >=20 >>=20 >>=20 >> Yes. This is how bind-map works. >>=20 >>=20 >>=20 >=20 >=20 >=20 > [ My questions are about how it *should* work rather than how it works. ] >=20 >=20 >=20 >=20 Ah, then yeah, it should ideally add/remove bindings in response to any min= or mode being enabled/disabled at any time as you say below. It doesn't wor= k that way now AFAICT. >=20 >=20 >=20 >=20 >=20 >=20 >=20 >>=20 >>=20 >> It adds to `evil-normal-state-local-map`, >> which is a buffer local key map. It does this in response to >> evil-local-mode-hook, which, when evil-mode is enabled, will trigger in >> most buffers, and when it does, if the globalized minor mode being >> considered has not yet been initialized=C2=A0(as you mention below) then= it >>=20 >>=20 >=20 >=20 >=20 > [ In your examples, while the globalized major mode has not been > initialized, it *will not* be initialized later either, AFAICT. ] >=20 >=20 >=20 >=20 Got it, that is confusing. In any case, the manual example I gave that requ= ires enabling evil-mode displays the same problematic behavior with the con= sidered patch and does work with the existing bind-map code, but as you get= to below=E2=80=A6 that probably doesn't matter. It's insufficient. >=20 >=20 >=20 >=20 >=20 >=20 >=20 >>=20 >>=20 >> cannot simply use the mode variable to determine if it's enabled. >>=20 >>=20 >>=20 >=20 >=20 >=20 > Another way to look at the problem: when the minor mode is enabled or > disabled (which can happen at any time), which part of bind-map reacts to > update `evil-normal-state-local-map`? >=20 >=20 >=20 >>=20 >>=20 >> To be clear, I think this is a flaw in bind-map. I shared the repro befo= re >> I figured out an alternative that does not have this limitation and is >> more in line with how evil seems to work. In other words, you may feel >> free to disregard this repro and proceed with closing this bug if you >> like. I don't know if bind-map will be updated or not, but=C2=A0it does = seem >> like it's not essential for it to use to the set-explicitly internal >> variable. >>=20 >>=20 >>=20 >=20 >=20 >=20 > I think you're reaching the same conclusion I had reached, indeed: the > approach used currently in bind-map is flawed and works only in some/most > circumstances. >=20 >=20 >=20 >=20 Good deal. Thank you for helping work through this. Aaron >=20 >=20 >=20 >=20 >=20 >=20 >=20 >=20 > Stefan >=20 >=20 >=20 > --14a2b7bbdc6bb5dbf2387d7e7448f887c41ad611a85502a91b95e7cfe6bb Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=UTF-8
On Wed, Sep 03, 2025 at 9:25 PM, Stefan Monnier= <monnier@iro.umontreal.ca> wrote:
Yes. This is how bind-map works.

[ My questions are about how it *should* work rather than how it works. ]<= br/>


Ah, then yeah, it should ideally add/remove bindings in response to= any minor mode being enabled/disabled at any time as you say below. It doe= sn't work that way now AFAICT.


It adds to `evil-normal-state-local-map`,
which is a buffer local key map. It does this in response to=C2=A0evil-local-mode-hook, which, when evil-mode is enabled, will trigge= r in most buffers, and when it does, if the globalized minor mode being considered has not yet been initialized=C2=A0(as you mention below) then it

[ In your examples, while the globalized major mode has not been initialized, it *will not* be initialized later either, AFAICT. ]

=

= Got it, that is confusing. In any case, the manual example I gave that requ= ires enabling evil-mode displays the same problematic behavior with the con= sidered patch and does work with the existing bind-map code, but as you get= to below=E2=80=A6 that probably doesn't matter. It's insufficient.=


cannot simply use the mode variable to determine if it's enabled.

Another way to look at the problem: when the minor mode is enabled or disabled (which can happen at any time), which part of bind-map reacts to update `evil-normal-state-local-map`?

To be clear, I think this is a flaw in bind-map. I shared the repro before I figured out an alternative that does not have this limitation and is more in line with how evil seems to work. In other words, you may feel free to disregard this repro and proceed with closing this bug if you like. I don&= #39;t know if bind-map will be updated or not, but=C2=A0it does seem like it'= s not essential for it to use to the set-explicitly internal variable.

I think you're reaching the same conclusion I had reached, indeed: the approach used currently in bind-map is flawed and works only in some/most circumstances.



Good deal. Thank you for h= elping work through this.

Aaron


Stefan


<= /div>
3D"
--14a2b7bbdc6bb5dbf2387d7e7448f887c41ad611a85502a91b95e7cfe6bb--