From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Alan Mackenzie Newsgroups: gmane.emacs.devel Subject: Re: Creating a git branch for cond* Date: Thu, 25 Jan 2024 17:57:05 +0000 Message-ID: References: <86zfwtbbdm.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="33428"; mail-complaints-to="usenet@ciao.gmane.io" Cc: ams@gnu.org, rms@gnu.org, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Jan 25 18:57:46 2024 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 1rT3z0-0008R6-BM for ged-emacs-devel@m.gmane-mx.org; Thu, 25 Jan 2024 18:57:46 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rT3yU-0000Xf-Aa; Thu, 25 Jan 2024 12:57:14 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rT3yS-0000XI-Iy for emacs-devel@gnu.org; Thu, 25 Jan 2024 12:57:12 -0500 Original-Received: from mail.muc.de ([193.149.48.3]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rT3yQ-00025M-C1 for emacs-devel@gnu.org; Thu, 25 Jan 2024 12:57:12 -0500 Original-Received: (qmail 37957 invoked by uid 3782); 25 Jan 2024 18:57:08 +0100 Original-Received: from acm.muc.de (p4fe15d95.dip0.t-ipconnect.de [79.225.93.149]) (using STARTTLS) by colin.muc.de (tmda-ofmipd) with ESMTP; Thu, 25 Jan 2024 18:57:07 +0100 Original-Received: (qmail 10450 invoked by uid 1000); 25 Jan 2024 17:57:05 -0000 Content-Disposition: inline In-Reply-To: <86zfwtbbdm.fsf@gnu.org> X-Submission-Agent: TMDA/1.3.x (Ph3nix) X-Primary-Address: acm@muc.de Received-SPF: pass client-ip=193.149.48.3; envelope-from=acm@muc.de; helo=mail.muc.de X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 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-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:315386 Archived-At: Hello, Eli. On Thu, Jan 25, 2024 at 18:56:05 +0200, Eli Zaretskii wrote: > > Date: Thu, 25 Jan 2024 16:37:44 +0000 > > Cc: rms@gnu.org, eliz@gnu.org, emacs-devel@gnu.org > > From: Alan Mackenzie > > > I hope it goes to master directly, it is a single file that doesn't > > > affect anything else. And _if_ existing code is updated to use cond* > > > that will get much more milage. > > It does affect other things, in particular, other .el files which are > > adapted to use cond*. > Please don't make any changes except installing cond* and fixing it. > There's no decision yet to start converting any code to use it, nor do > I envision such a decision any time soon. > > If that happens on master, then both cond* and > > the conversion need to be perfect before the file can be committed. > Once again: we are not converting anything, at least not yet. We are > only discussing how best to handle installation of cond*. > > What I want to do early on in cond* development is convert > > lisp/emacs-lisp/macroexp.el from pcase to cond*. > I don't agree with such a change, so please don't do anything like > that. You know me. I wouldn't make any such changes without asking first, anyway. But for people asking _why_ we're introducing cond*, that it opens up such possibilities is a good answer. > > Currently, pcase.el is dependent upon macroexp.el and macroexp.el is > > dependent upon pcase.el. This leads to an unlovely artifice in the > > bootstrapping file, loadup.el, and this has caused me grief in > > another branch I'm working on. > We are not going to make any such changes just because we can, or just > because you have problems on some branch you'd like to avoid fixing. The point I was making is that our bootstrap procedure in loadup.el verges on unmaintainability. What should be a simple linear list of ..el(c) files being loaded one after the other has turned into a difficult tree where some files are loaded from loadup, some are loaded with (require 'foo) inside eval-when-compile, and some may be straight requires, I can't remember exactly. Some loaded files get unloaded again. (pcase.el is an example.) macroexp.el is loaded twice (or four times, if you count the second loadup separately). All this has hindered me on that other branch (for bug #67455, about getting position information into doc strings that we discussed extensively back in November). It is likely to hinder others, too. My point was that cond*, once it's established, will give us the mechanism to sort at least some of this out. > cond* is a new construct, and once it is in Emacs, and documented as > it should be, we should collect experience with using it before we > even think about converting existing code. > Please don't forget that Emacs is a stable program: we don't make > changes just because we can. Changes to code that was with us for > years are only justified if we have a very good reason. Understood. > > No doubt Eli will have something to say about this idea. ;-) > He does, see above. You don't have my okay for making any changes > except installing cond* and fixing it and its documentation. > Btw, we should also have tests for it. Indeed. They will be needed to get the code working properly anyway. > > There are advantages to the branch, as well as advantages to having it > > on master. > Yes. But, as you say, let's hear what Richard thinks about this. Yes. -- Alan Mackenzie (Nuremberg, Germany).