From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Daniel Colascione Newsgroups: gmane.emacs.devel Subject: Re: cc-mode fontification feels random Date: Fri, 11 Jun 2021 13:37:53 -0700 Message-ID: <9e76076e-636d-9271-03e2-98c7614e3cf1@dancol.org> References: <83o8cge4lg.fsf@gnu.org> <62e438b5-d27f-1d3c-69c6-11fe29a76d74@dancol.org> <83fsxsdxhu.fsf@gnu.org> <83pmwudgw3.fsf@gnu.org> <20210610151647.qtt7pqbjhdtp6coe@Ergus> <20210611202130.j35q6k4utjivzuen@Ergus> 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="793"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 Cc: Alan Mackenzie , Eli Zaretskii , emacs-devel@gnu.org, rms@gnu.org, rudalics@gmx.at To: Stefan Monnier , Ergus Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Jun 11 22:40:33 2021 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 1lrnxA-000AU3-EK for ged-emacs-devel@m.gmane-mx.org; Fri, 11 Jun 2021 22:40:32 +0200 Original-Received: from localhost ([::1]:45956 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lrnx9-0004nD-EN for ged-emacs-devel@m.gmane-mx.org; Fri, 11 Jun 2021 16:40:31 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:39610) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lrnuk-0003wy-8X for emacs-devel@gnu.org; Fri, 11 Jun 2021 16:38:02 -0400 Original-Received: from dancol.org ([2600:3c01:e000:3d8::1]:56922) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lrnuh-0003vn-TA; Fri, 11 Jun 2021 16:38:02 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=dancol.org; s=x; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:MIME-Version:Date: Message-ID:From:References:Cc:To:Subject:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=WKgn/bdrlows1sUtWjSZchhC8t0sfc8fL1kj0d0t8nE=; b=hkfHja22KRLfuZ2d132EVhOEQW /DaiYkRVkgk+CPKj8u0bss3vuCujnCck9dMB2fRTjCM0bJ6uaGou23dDRUv2ntVSE5tswDsUMndmK TD1Pa8hnD44iSjfopTtmBajcanCa++Xn6jMdD7vHB7drK6qV8UN+ZqWUa9UIleN6bRW/J+xJuAzKl RUnhOB9qlfgD0X0m7LUuASf1JqSU18rZ40nwDhJbnHlfClwBI8tW2yVEm0disy0k8RDDJqXTgJ3mX YhBnEbpWUjODTBYsiFRW+a7vaymEhmaJz0lkysS087cxYXjr9uS52aHb4tnGn6JgxdjuF1vvxXbdI T798a6XA==; Original-Received: from [72.37.128.7] (port=9285 helo=[172.20.7.164]) by dancol.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1lrnuc-0001eV-P8; Fri, 11 Jun 2021 13:37:54 -0700 In-Reply-To: Content-Language: en-US Received-SPF: pass client-ip=2600:3c01:e000:3d8::1; envelope-from=dancol@dancol.org; helo=dancol.org 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, NICE_REPLY_A=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no 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:270730 Archived-At: On 6/11/21 1:27 PM, Stefan Monnier wrote: >> For what I know about tree-sitter it does not provide the parsers with >> the library. > Of course, not, how could it? There's a never-ending stream of > programming languages out there. > > I don't see why you think that's a problem, It's not just licensing. Another problem with stock tree-sitter is that it makes Emacs less self-hosting. Tree-sitter grammars are written in JavaScript. You don't need JavaScript to use a grammar, but you do need JavaScript to customize a grammar. In addition, Tree-sitter compiles these JavaScript grammars to C. To use a customized grammar, an Emacs user would have to run node.js (or equally capable JS environment), generate C code, compile that C code, and load it into Emacs as a module. That's a big departure from the traditional approach to Emacs customization. These technical choices on the part of the Tree-sitter people are unfortunate. I'd prefer an elisp reimplementation of the Tree-sitter algorithms, but I doubt we're going to get that any time soon. Maybe Tree-sitter could be changed to generate an elisp parser and compile parsers in a lightweight JS environment like Duktape.