From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: master b72f885: Make dlet work like let, not let* Date: Tue, 03 Aug 2021 18:58:48 +0300 Message-ID: <831r7amsef.fsf@gnu.org> References: <83wnp5m9i5.fsf@gnu.org> <9DE2F5D1-A89A-4357-9E46-268F697D8260@acm.org> <837dh2mz57.fsf@gnu.org> <74C5058D-AF5C-4F1A-8D08-251935A69693@acm.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="34506"; mail-complaints-to="usenet@ciao.gmane.io" Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org To: Mattias =?utf-8?Q?Engdeg=C3=A5rd?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Aug 03 17:59:51 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mAwpb-0008m8-GI for ged-emacs-devel@m.gmane-mx.org; Tue, 03 Aug 2021 17:59:51 +0200 Original-Received: from localhost ([::1]:38404 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mAwpZ-0004up-D1 for ged-emacs-devel@m.gmane-mx.org; Tue, 03 Aug 2021 11:59:49 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:50230) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mAwoi-0004Cm-CP for emacs-devel@gnu.org; Tue, 03 Aug 2021 11:58:56 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:54156) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mAwoh-0008PX-7S; Tue, 03 Aug 2021 11:58:55 -0400 Original-Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:2643 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mAwoe-00074a-30; Tue, 03 Aug 2021 11:58:53 -0400 In-Reply-To: <74C5058D-AF5C-4F1A-8D08-251935A69693@acm.org> (message from Mattias =?utf-8?Q?Engdeg=C3=A5rd?= on Tue, 3 Aug 2021 17:21:14 +0200) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:271987 Archived-At: > From: Mattias EngdegÄrd > Date: Tue, 3 Aug 2021 17:21:14 +0200 > Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org > > 3 aug. 2021 kl. 15.33 skrev Eli Zaretskii : > > > People out there use Emacs 28 for a long time, so of course there is a > > compatibility problem, albeit a smaller one than if we have already > > had released Emacs with dlet. > > Of course, but that's not really a compatibility promise but merely being nice, which we of course try to be but I'm quite sure that our esteemed Emacs 28 users understand that we didn't give them an iron-clad guarantee. It isn't iron-clad, but we should try to keep that promise unless there are very good reasons to break it. Which is why I asked about the reasons for the change. > The change itself is also low-risk Risk of bugs is not relevant. Risk of breaking someone's code cannot be estimated at all. And again, we just should try not to make such changes after so many moods without a good reason, no matter what are the other downsides. > However you do raise a good point. For incompatible changes in official releases we have etc/NEWS, but nothing really like it for things that we just broke on master. Perhaps it would be useful to have a document tracking these things so that everyone doesn't have to read every git diff to understand what is going on? `etc/NEWS.development`, say? Sounds like a maintenance burden with very little gains. > > Could you please tell what were the reasons that led you to make this > > change? Because I don't really understand the motivation. Is it just > > the name that lacks the '*' part, or is it something else? > > Well sort of: if someones finds out about a construct named `dlet`, it's just natural to assume that it binds like `let`, not like `let*`. (Supporting evidence: two local macros on the pattern `something-dlet*` were in use. One of the has now been renamed.) If it's just the name, how about adding the "good" name and making the "bad" name an obsolete alias? That would at least avoid breaking any code out there that could be using it. Stefan, any comments? Why did you name it "dlet" without the '*'?