From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= Newsgroups: gmane.emacs.devel Subject: Re: Progress on merging Eglot? Date: Thu, 8 Sep 2022 14:09:32 +0100 Message-ID: References: <87tu5ihwp0.fsf@gmail.com> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="00000000000051da9205e82a201d" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="17833"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Payas Relekar Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Sep 08 15:16:32 2022 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 1oWHOR-0004Mc-Ch for ged-emacs-devel@m.gmane-mx.org; Thu, 08 Sep 2022 15:16:31 +0200 Original-Received: from localhost ([::1]:45378 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oWHOQ-0007kf-FK for ged-emacs-devel@m.gmane-mx.org; Thu, 08 Sep 2022 09:16:30 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:49796) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oWHGl-0007rj-My for emacs-devel@gnu.org; Thu, 08 Sep 2022 09:08:35 -0400 Original-Received: from mail-il1-x12b.google.com ([2607:f8b0:4864:20::12b]:36587) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oWHGj-0007Uf-Kt for emacs-devel@gnu.org; Thu, 08 Sep 2022 09:08:35 -0400 Original-Received: by mail-il1-x12b.google.com with SMTP id m16so6192772ilg.3 for ; Thu, 08 Sep 2022 06:08:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date; bh=xewVQblyPM7VF80CJlAtnJyuzt9uDA2nQWLYhdth+0A=; b=Y/CYRMTY2H47RgI0xkhZs7cQ4BswkN/hjHjP2RW/yqyiuDHL1pAoO7EXIfzgKmz2+t 6xg6KJGeTtAUe4C6epBiPSD+hjh+Rdx7SkUADa0CmfZPPtNP9It6eL2EnWwlI3YyQa6C Foi+atlrs1hn6Nsu5MI9CbPk5fCv7X39E4zUtvgKAVs7nP3T0BQBDplsDr+afObMoDVA jx2noQgnedebt9KDmvwcOe+qsIPgAuLsE3dadsWpsrsLEk/j2XmHyN0GQkxD7fO3jblg englZzAeMs22Ut/t1qxkkkZosdPyZ1dfZ/3IR9cDEYIRcqWCrgGfh8QWlckpXHjBMrxO TTRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date; bh=xewVQblyPM7VF80CJlAtnJyuzt9uDA2nQWLYhdth+0A=; b=Xl0Hep8Si1TYwj1k+yPYeEWIxiBr2MUaYBU/04DBy2Of/4GIWKBKVHjrb0kRUyrbZb w50YpZ/cbdRuGdIr+E3rk/SryuGI9/zFfCSgeOlJpSJtSLBC/SMnPQJDfSeF5kP6Kyx3 GoM2wIyjaXZsN+fSv8Oca/kzbed8+zo6DR0azQ5dwdPwdbPmoqrxDPrn/CiTysdQKn1c W83cSBXZltXpnlnkr0vzW0TSRJujZ9z7DH2CzrT10Y2Wk1XzCJ75cqVLAb6bXRRZHSWP IljYVwn9GR+75inGJ9z0k9c0Dzqe1u3X/znQnDLcnEdjqBqZxOiHmnYqx734S0ctjkUB d5oA== X-Gm-Message-State: ACgBeo0MH8flATQxe0OHFkm//p6cCxxkj7IZ5J9VywgG3BJ03wEEMqmj 03CrNRmpy/fN9gBezR4qQqjXvF9pH3fy4krOgNc= X-Google-Smtp-Source: AA6agR6wnYoN74p27TpqeB84XZfPQcOhQUNefFLcV33QCPM+5Lp9Pyhswpj8TUmZV5IX8DDX/nrsSYRge5OMkEv1Gp4= X-Received: by 2002:a92:602:0:b0:2ea:e4ff:1628 with SMTP id x2-20020a920602000000b002eae4ff1628mr1686199ilg.178.1662642512057; Thu, 08 Sep 2022 06:08:32 -0700 (PDT) In-Reply-To: <87tu5ihwp0.fsf@gmail.com> Received-SPF: pass client-ip=2607:f8b0:4864:20::12b; envelope-from=joaotavora@gmail.com; helo=mail-il1-x12b.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, 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" Xref: news.gmane.io gmane.emacs.devel:294950 Archived-At: --00000000000051da9205e82a201d Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Sep 8, 2022 at 1:34 PM Payas Relekar wrote= : > I remember reading a discussion on possibly merging Eglot (language > server client) to Emacs core. I also distinctly remember author wished > to hack on it in the core after merging. > > Since it is already on ELPA, are there any more blockers to merge it? Hi, The only blocker -- as far as I am aware -- is the amount of time I have to dedicate to this. A sequence of concrete actions needs to be laid down to reach these objectives: 1. Eglot in core, as a :core ELPA package, so that anyone with emacs.git commit rights can push to it to release new versions to ELPA. People running trunk emacs.git can get the Eglot bleeding edge of course. 2. Preserve the full Git history of the eglot.el file after it has been merged. 3. Adapt the tests in eglot-tests.el into Emacs's test suite (shouldn't be terribly difficult, they are both ert-based). The most interesting and useful tests need LSP servers, so one should investigate if these can be installed in Hydra. 4. Check carefully for copyright assignments for Eglot's many contributors. I've been careful with this since day 1, but this needs to be double checked. Some contributions are "Copyright-paperwork-exempt". 5. Arrange for the eglot.el file in Eglot's current upstream -- https://github.com/joaotavora/eglot -- to mirror src/progmodes/eglot.el, ideally (but not necessarily) automatically This is so that: 5.1 Users of bare Git clones can continue mostly unimpeded. 5.2 GitHub users can still suggest changes as "Pull Requests" via GitHub's interface 5.3 The current GitHub actions CI -- where installation of third-party language servers is relatively easy -- can run at least the current eglot-tests.el. 6. Adapt the README.md into a manual section in TexInfo format. Items 2 and 5 are the ones I'm not 100% sure on how to make happen. But I'm pretty sure they are possible given sufficient Git skills. If anyone can help with any of these items, it would be most welcome and speed up the process. "Help" can mean simply fleshing out the item into concrete actions, anticipating problems, etc.. It can also mean actually doing those actions. I don't think there are many dependencies between the items, so multiple people can work concurrently.. I'm also interested in comments about this plan, its objectives, alternatives, etc... Those are welcome, though I'd rather not waste too much time on alternatives such as "forget about Git history", "just bury the GitHub repo", "the manual can come later", "ditch the CI", etc... Thank you, Jo=C3=A3o --00000000000051da9205e82a201d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Thu, Sep 8, = 2022 at 1:34 PM Payas Relekar <relekarpayas@gmail.com> wrote:
I remember reading a discussion on possibly merging = Eglot (language
server client) to Emacs core. I also distinctly remember author wished
to hack on it in the core after merging.

Since it is already on ELPA, are there any more blockers to merge it?

Hi,

The only blocker -- as far as= I am aware -- is the amount of time I have
to dedicate to this.

= A sequence of concrete actions needs to be laid down to reach these
obje= ctives:

1. Eglot in core, as a :core ELPA package, so that anyone wi= th
=C2=A0 =C2=A0emacs.git commit rights can push to it to release new ve= rsions to
=C2=A0 =C2=A0ELPA. People running trunk emacs.git can get the = Eglot bleeding
=C2=A0 =C2=A0edge of course.

2. Preserve the full = Git history of the eglot.el file after it has been
=C2=A0 =C2=A0merged.<= br>
3. Adapt the tests in eglot-tests.el into Emacs's test suite (sh= ouldn't
=C2=A0 =C2=A0be terribly difficult, they are both ert-b= ased). The most interesting
=C2=A0 and useful tests need LSP serv= ers, so one should investigate if these
=C2=A0 can be installed i= n Hydra.

4. Check carefully for copyright assignments for Eglo= t's many
=C2=A0 =C2=A0contributors.=C2=A0 I've been careful with= this since day 1, but this
=C2=A0 =C2=A0needs to be double checked.=C2= =A0 Some contributions are
=C2=A0 =C2=A0"Copyright-paperwork-exempt= ".

5. Arrange for the eglot.el file in Eglot's current upst= ream --
=C2=A0 =C2=A0htt= ps://github.com/joaotavora/eglot -- to mirror
=C2=A0 =C2=A0src/progm= odes/eglot.el, ideally (but not necessarily) automatically

=C2=A0 = =C2=A0This is so that:

=C2=A0 =C2=A05.1 Users of bare Git clones can= continue mostly unimpeded.

=C2=A0 =C2=A05.2 GitHub users can still= suggest changes as "Pull Requests"
=C2=A0 =C2=A0 =C2=A0 = =C2=A0via GitHub's interface

=C2=A0=C2=A0 5.3 = The current GitHub actions CI -- where installation of third-party
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 language servers is relatively easy = -- can run at least the current
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 eglot-tests.el.

6. Adapt the README.md into a manual secti= on in TexInfo format.

Items 2 and 5 are the ones I'm not 100% su= re on how to make
happen. But I'm pretty sure they are possible give= n sufficient Git
skills.

If anyone can help with any of these ite= ms, it would be most welcome
and speed up the process. =C2=A0

&qu= ot;Help" can mean simply fleshing out the item into concrete actions,<= br>anticipating problems, etc..=C2=A0 It can also mean actually doing those=
actions.=C2=A0 I don't think there are many dependencies between th= e items,
so multiple people can work concurrently..

I'm also = interested in comments about this plan, its objectives,
alternative= s, etc... Those are welcome, though I'd rather not waste
too = much time on alternatives such as "forget about Git history",
"just bury the GitHub repo", "the manual can com= e later",=C2=A0
"ditch the CI", etc...

Thank you,
Jo=C3=A3o
--00000000000051da9205e82a201d--