From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= Newsgroups: gmane.emacs.devel Subject: Re: dash.el [was: Re: Imports / inclusion of s.el into Emacs] Date: Tue, 19 May 2020 15:11:23 +0100 Message-ID: References: <35DBF02E-44D7-41E5-A217-7D6EC84ED221@icloud.com> <4e937898-ae46-710a-cbca-e452a1156fa1@yandex.ru> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="11152"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Richard Stallman , joostkremers@fastmail.fm, emacs-devel , "Alfred M. Szmidt" , Stefan Monnier , =?UTF-8?B?7KGw7ISx67mI?= , Eli Zaretskii , Phillip Lord To: Dmitry Gutov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue May 19 16:12:46 2020 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 1jb2z7-0002oP-Th for ged-emacs-devel@m.gmane-mx.org; Tue, 19 May 2020 16:12:45 +0200 Original-Received: from localhost ([::1]:57940 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jb2z7-00054h-07 for ged-emacs-devel@m.gmane-mx.org; Tue, 19 May 2020 10:12:45 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:38280) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jb2yF-0004Cj-GK for Emacs-devel@gnu.org; Tue, 19 May 2020 10:11:51 -0400 Original-Received: from mail-il1-x141.google.com ([2607:f8b0:4864:20::141]:39230) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jb2yE-00024c-Gi; Tue, 19 May 2020 10:11:51 -0400 Original-Received: by mail-il1-x141.google.com with SMTP id c20so11371075ilk.6; Tue, 19 May 2020 07:11:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=8iXLdYhZOW7+I091WAGue7kxTXk1A/TeC0GO67byNys=; b=WkMstsAQvWpoTH+VQ3E+EdyU9zcWwfFyl8U5qq2+CwHH4SyZidT2HO5LZwsITr1Z69 ocMaZArO+HuIwy9oaUdZzrtJtdyH3Iom4gFKzzy+86+wRtl410NfPnOZruI2qcZS6ylR m8Rqbi5awLFb/w4d3cAP5VuMtmWomklAE8HmfZzicPl/D+mRwPSjOdFp9RTB4TnEm/YM CoYWlj4bGBrA0VDFYzq5zKcA0S83FXsYIc4EsAfNuAR3dmz8wEyJOCNPNlgCcsBVfVoy 4ujYJFIHsTb7BVG0+KAerutL2OhH4SWC8QjuofB0N3tz/tnwdNPycVZhd6NhAFZmlber 1rjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=8iXLdYhZOW7+I091WAGue7kxTXk1A/TeC0GO67byNys=; b=Lph973iiK3PwTUXYK9nnoQGx02Wtg5v/uL9kYS4Er89R5gaIBNOspgJcWuI7vYa2cq IaRSQZZamI2Z1lqsDW2jMOMY2G7HUvNRn9yJoNq2DsoIouTOOqwrvEWePm6QTBsw1SBh KoDp0g6XpvWk7i1DuFJcUG0zV7RJ6Z+NLXd8qtxfgmMTYrhPFgclhi5LHKL4MDk3iECe VAU/wnSi+lfrRcP2V1DnK4zDCanbY5rSh3x/yAo5dr0zVMmDHWX/p9GMs4gs/zIw4rGq toIYzeLABFx9otqv2nw51sOgkhcyUCQZXVOPaYsxdLB1rUGB729UieCklYjvcafM/MkQ NJZA== X-Gm-Message-State: AOAM530Fzv9kfFgkdYBV8+NDJP2lduAfF3fv5VgbLx5VTvykeFeMfsQ7 k4rGzofBoazgaWS/WmRjn7VltUNyQ+6diKA/vQY= X-Google-Smtp-Source: ABdhPJzTARbEKwW7QEkld7LhOR6RjIV8pDC3pKYAcprw6CE36AX6J+wudb/ynpfcD9EvujjAozsENz0Avh80GNOtseA= X-Received: by 2002:a92:d40f:: with SMTP id q15mr19653891ilm.97.1589897508257; Tue, 19 May 2020 07:11:48 -0700 (PDT) In-Reply-To: <4e937898-ae46-710a-cbca-e452a1156fa1@yandex.ru> Received-SPF: pass client-ip=2607:f8b0:4864:20::141; envelope-from=joaotavora@gmail.com; helo=mail-il1-x141.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. 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, FROM_EXCESS_BASE64=0.979, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action 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:250920 Archived-At: On Sun, May 17, 2020 at 2:38 PM Dmitry Gutov wrote: > I would like to point out, as an author of several packages, that in my > experience having a package in ELPA is _better_ than having it in the cor= e. I know you like to develop on GitHub, and I'm not going to argue that: it is a completely separate discussion. I disagree on specific technical reasons that IMO don't get enough attentio= n: 1. If Company were in the core, you could have major modes in the core or elsewhere setting up the desired completion strategy or strategies. I.e. instead of having central database of `company-backends` that packages like Eglot have to override to behave sanely, you could have a buffer-local `company-backend` instead. You c ould continue to develop the specific eclim, clang, xcode, etc backends on GitHub, but you wouldn't "force" them on people that don't use them. 2. If Yasnippet were in the core, again, no need for the centralized database of snippets: major modes define their snippets. Other tools can use the snippet-defining infrastructure without eating all that Jo=C3=A3o-the-ten-years-ago newbie cruft. But even with yasnippet.el, it is possible (though not ideal: Stefan once convinced me to rewrite it which I did to 90% in a so-called snippet.el -- but there's still the 10% missing). 3. If Eglot were in the core, again, no need for the centralized stuff currently living in eglot-server-programs. Also, major modes in the core can affect Eglot's LSP interfaces via stronger coupling techniques, such as adding methods to generic functions. Besides major modes, other tools than build on some LSP basics, such as an LSP-enabled spell checker could be built. In general, I'm intent on describing a pattern here: there's a very good reason for functionality that can be seen as infrastructure to be in the core. At least as long as the users of such infrastructure (which are often, but not always, major mdoes) also live in the core. So the solution is to move the infrastructure bits to the core, or move every major mode to GNU ELPA. Also, I want to note, again, that even if Company, snippet.el and Eglot were in the core, they could still _also_ be available for download via GNU ELPA. > The exception to that rule is more or less cases where the package is > not only added but also enabled by default. I've argued that that's not the only exception. Jo=C3=A3o