From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jim Porter Newsgroups: gmane.emacs.devel Subject: Re: Stability of core packages (was: Not easy at all to upgrade :core packages like Eglot) Date: Tue, 18 Apr 2023 12:36:12 -0700 Message-ID: <93acbd4d-442f-b0a8-4476-44a76a1267d7@gmail.com> References: <87a5zj2vfo.fsf@gmail.com> <871qkom3fj.fsf@posteo.net> <83mt3b4yfc.fsf@gnu.org> <87edonlsxi.fsf@posteo.net> <83jzyf4vzb.fsf@gnu.org> <871qknllkj.fsf@posteo.net> <83fs934pjf.fsf@gnu.org> <87wn2fk47y.fsf@posteo.net> <83sfd2g2ek.fsf@gnu.org> <875y9yfxrr.fsf@gmail.com> <87y1muefks.fsf@gmail.com> <834jpifizy.fsf@gnu.org> <83y1mue1qi.fsf@gnu.org> <83sfd2e01f.fsf@gnu.org> <1a5e5837-513b-84d8-3260-cdbf42b71267@gutov.dev> <83sfcz9rf2.fsf@gnu.org> <09a49ab9-ac72-36a9-3e68-9c633710eba7@gutov.dev> <83r0sh8i1q.fsf@gnu.org> <35638c9d-e13f-fad8-5f95-ea03d65d4aa2@gmail.com> <83ildt808j.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="28197"; mail-complaints-to="usenet@ciao.gmane.io" Cc: dmitry@gutov.dev, joaotavora@gmail.com, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Apr 18 21:37:29 2023 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 1por8r-00077g-JB for ged-emacs-devel@m.gmane-mx.org; Tue, 18 Apr 2023 21:37:29 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1por7j-0008HC-L2; Tue, 18 Apr 2023 15:36:19 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1por7h-0008G4-Lj for emacs-devel@gnu.org; Tue, 18 Apr 2023 15:36:17 -0400 Original-Received: from mail-pg1-x534.google.com ([2607:f8b0:4864:20::534]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1por7g-00068y-4w; Tue, 18 Apr 2023 15:36:17 -0400 Original-Received: by mail-pg1-x534.google.com with SMTP id 41be03b00d2f7-51fcf5d1e44so662917a12.3; Tue, 18 Apr 2023 12:36:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1681846574; x=1684438574; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=DW2Mo3TLAff1bBPGRrbRnZyplrRhSA9bGNe6DgPJUPA=; b=EImCasDvFK0iJt39rkbMnILoXrM+HOyBKNLLzjPLRy9h0wYI+VzgiG6U2JiW3knlb2 yD8aTuAGl/QgEEbLG7z3L8en/PfgfiBg+A+M3E4bYCxzeQQFKg2peX+U9XUqiH6RQji5 uGivwaSm0ecxilAOOoeuIG1/mv83WIiaHtjShzRiPVFgTyeCDMltfXWiitbq54Zr6kTb ZFNnCSsdzoMzeLKy6MmdJQVIu+z+g383+G3VyPQ7yYJg29CbObNcffyhnje01z3He9J+ 479t53WMKJA7XdTn9hD6/s8sMF57rQxrbqJAzSkV/RpTEGGJBjCXOjTLc2vrq9FZxQYo 2+Fw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681846574; x=1684438574; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=DW2Mo3TLAff1bBPGRrbRnZyplrRhSA9bGNe6DgPJUPA=; b=inTMZl4So4VY/RMifut8U2nvCb+JyVXecvij684A7ZqwEKerQMz8o1xFUBrEjab/Qb 2F3sl1kn8s0u0DuEMAhLEr6sEqOFXdwU8oMer3t/4b9AN19zPw0IonXqK/WZqZiRQKy1 /ozgcAqZo+QnJ0jLN/Qoi5ocaVn1aTerRF0VV4WW17VrZvJyhpJxUM0Ij3ojVJlaITbg T6liMuYwFUYwKgTkH5ckzPdUbUR2d9CwHW1lnp84NO9nQtnSWaa399H34Z473YVFR+PD D9y9bKs3Tvdo6TyX97FX+dyy/l6OnrsuLCPdbe3XIZB7/Au1wY+hFaxZqHL/qR3evF86 oayg== X-Gm-Message-State: AAQBX9c5ITMOYznguvuxvryrtqyMc/aF80zWm8Yfkz06xd1IlMWwZL5W WBOY4BivfiMXqNkRtg13gN5qXeEJawSONg== X-Google-Smtp-Source: AKy350b4/dF+LnQ2z2Cm7j7Lh4uPII9IOg2TDw0rKt/9E0WC3X7LuPEARdQzW6sCpMhjw7twgUGHmg== X-Received: by 2002:a17:90a:648e:b0:247:20e9:1a1a with SMTP id h14-20020a17090a648e00b0024720e91a1amr702777pjj.5.1681846574127; Tue, 18 Apr 2023 12:36:14 -0700 (PDT) Original-Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com. [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id d17-20020a17090ad3d100b0023faa95f75csm10922939pjw.36.2023.04.18.12.36.13 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 18 Apr 2023 12:36:13 -0700 (PDT) Content-Language: en-US In-Reply-To: <83ildt808j.fsf@gnu.org> Received-SPF: pass client-ip=2607:f8b0:4864:20::534; envelope-from=jporterbugs@gmail.com; helo=mail-pg1-x534.google.com X-Spam_score_int: -10 X-Spam_score: -1.1 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_REPLY=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no 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:305419 Archived-At: On 4/18/2023 12:21 PM, Eli Zaretskii wrote: >> Date: Tue, 18 Apr 2023 11:56:58 -0700 >> Cc: joaotavora@gmail.com, emacs-devel@gnu.org >> From: Jim Porter >> >> It sounds to me like there are 3 or 4 levels (depending on how you count): >> >> * Stable: the version of a package included in the latest Emacs tarball >> * Latest: the latest version on GNU ELPA (etc) >> * Devel: the latest version on GNU-devel ELPA (etc) > > I think we need only two. Stable can move to the next version, since > packages are released more frequently than Emacs. At least from a user POV, I think it makes sense to distinguish among all three of these. For example, I might use the version of Eglot in Emacs 29, or I might install it from GNU ELPA, or I could even install it from GNU-devel ELPA. I might even switch back and forth depending on what my needs are (and in fact, that's exactly what I do with Eglot; while I usually prefer to stick on the GNU ELPA version, sometimes I switch to GNU-devel ELPA if there's a fix for a bug I find very bothersome). I think this set of three levels also makes it easier - at least for me - to reason about what to do with something like ElDoc. If a user installs Eglot from GNU ELPA (i.e. the user gets "Eglot latest"), should it automatically install ElDoc from GNU ELPA ("ElDoc latest") or should it use the ElDoc from the Emacs tarball ("ElDoc stable")? If there were only two levels - latest and devel - then I think the answer to the Eglot/ElDoc problem would simply be: installing Eglot latest should pull in ElDoc latest. Since there's no higher "stability gradation" than latest, we wouldn't really be able to say that ElDoc-from-Emacs is better/stabler than ElDoc-from-ELPA. (Well, we can still *say* that, but I think it helps to embed our reasoning for it into these stability gradations.) > How is this different from what we have in Emacs? An exciting new > feature is sometimes deferred to the next major release if the release > branch is close enough to a release. There's nothing new here, just > the fact that sometimes useful new features could destabilize Emacs, > so one needs to choose which one it wants more. I think the main difference is that Eglot and Emacs (and ElDoc, for that matter) all have different release cadences, so it would be helpful to have some functionality to help us manage that. With Emacs itself, we can ensure that every package that ships in the tarball is works well with each other; when we distribute a package on ELPA, this gets trickier. >> One alternative would be for packages to be able to *recommend* >> dependencies. Then, Eglot could recommend newer versions of ElDoc, but >> they wouldn't actually be required. > > This is probably needed, but it requires non-trivial support from > package.el, to let informed users select the updates that fit their > stability requirements and feature needs. Yeah, that's where this gets tricky for Emacs 29: it's probably a bit late to add major new features like this to package.el for 29. However, we might be able to accept an imperfect solution for Eglot today while working to provide a better way for Emacs 30.