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: Suggesting that feature/tree-sitter be merged (was Re: Tree-sitter and major mode inheritance) Date: Sat, 19 Nov 2022 10:09:04 +0200 Message-ID: <8335af9xi7.fsf@gnu.org> References: <0249C656-21C8-49F2-B979-A1894BF80637@gmail.com> <6DDC3B43-8B34-41A8-9BCA-77EEAD0EB124@gmail.com> 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="26925"; mail-complaints-to="usenet@ciao.gmane.io" Cc: casouri@gmail.com, jostein@kjonigsen.net, emacs-devel@gnu.org, theo@thornhill.no To: Stefan Kangas Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Nov 19 09:09:55 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 1owIvD-0006nT-5r for ged-emacs-devel@m.gmane-mx.org; Sat, 19 Nov 2022 09:09:55 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1owIuc-0007vx-M4; Sat, 19 Nov 2022 03:09:18 -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 1owIuQ-0007qr-Sh for emacs-devel@gnu.org; Sat, 19 Nov 2022 03:09:15 -0500 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1owIuJ-0006HI-Es; Sat, 19 Nov 2022 03:09:05 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=gbw/JpUKKvcSYax56x6xltmNNKbug+9rRzIUAop4oaA=; b=MYbnl+BttNn15JQTms70 +StoblHbkiyLPrKm8+xllSEk2UKJm6RKYE/hRfDlWzjQD7lgtZyzAUQqMV0Fn3UPgu2aJrecZbGw5 Vm6TL7Q5jOg0UAN/CxTzeF1lGHNyMKclkHjcJSvOg5BjpIgFMg+qv6m2PySozYiQQYWVEsMQZfwQd iMJBKZqBf+Y/u++0N7FVT+38tFtJWql1IXM1j36bzZR3icNUJbOhIYgxqH8s5PEBF8XiK75lPuEbn 0Uj/bw/8bjE0u5utajd4JUEdjqZP86Y4l9iW271gyO8fE1cUZiFGIGAePrtU05JakHs1SowJAyupj DXYEZeaiKmLhFg==; Original-Received: from [87.69.77.57] (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 1owIuI-0001LW-Jq; Sat, 19 Nov 2022 03:08:59 -0500 In-Reply-To: (message from Stefan Kangas on Fri, 18 Nov 2022 23:36:30 -0800) 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:300141 Archived-At: > From: Stefan Kangas > Date: Fri, 18 Nov 2022 23:36:30 -0800 > Cc: emacs-devel , Theodor Thornhill , Eli Zaretskii > > Yuan Fu writes: > > > The good news is, feature/tree-sitter is merging in a few days! And > > we’ll make further improvements on the master. So rest assured! :-) I > > think we can at least get C, Python, Javascript, Typescript, Bash, > > JONS and CSS to go with the up coming release, largely thanks to > > Theo’s (and tree-sitter’s) productivity. I personally don’t know > > enough of C++ and Java to polish them, but they have a good chance > > too. > > That's very exciting news! Thanks Yuan, Theodor and all others who > contributed. > > There seems to be a whole lot of figuring out left to do with both the > API and how the major modes should be implemented. Would it make sense > to ship the `tree-sitter' feature (and related modes) as explicitly > "experimental", to allow us to make changes in Emacs 30 without overly > worrying about backwards-compatibility? The intent is for Emacs 29 to include several modes based on tree-sitter, and several others to have optional features based on tree-sitter. Based on the state of the soon-to-be-merged branch, I see no reason to declare its support as experimental. As for backwards-compatibility, you will have to be more specific. Which features or APIs you see on the branch are in your opinion likely to change significantly after the release of Emacs 29? We need to consider these on a case by case basis. Personally, I think that we had this figured out in a way that won't create incompatibilities and yet allow changes, but maybe I'm missing something.