From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Using incremental parsing in Emacs Date: Sun, 05 Jan 2020 21:36:32 +0200 Message-ID: <835zhpg0fz.fsf@gnu.org> References: <83blrkj1o1.fsf@gnu.org> <20200105141900.GA71296@breton.holly.idiocy.org> <83eewdg3vy.fsf@gnu.org> Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="27199"; mail-complaints-to="usenet@blaine.gmane.org" Cc: alan@idiocy.org, emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Jan 05 20:36:46 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1ioBhd-0006xJ-9X for ged-emacs-devel@m.gmane.org; Sun, 05 Jan 2020 20:36:45 +0100 Original-Received: from localhost ([::1]:44674 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ioBhc-0003th-6D for ged-emacs-devel@m.gmane.org; Sun, 05 Jan 2020 14:36:44 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:49060) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ioBhT-0003tV-JD for emacs-devel@gnu.org; Sun, 05 Jan 2020 14:36:39 -0500 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:41398) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ioBhT-0006y8-3I; Sun, 05 Jan 2020 14:36:35 -0500 Original-Received: from [176.228.60.248] (port=1760 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1ioBhK-0001Dp-3q; Sun, 05 Jan 2020 14:36:29 -0500 In-reply-to: (message from Stefan Monnier on Sun, 05 Jan 2020 14:18:55 -0500) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] 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.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:243997 Archived-At: > From: Stefan Monnier > Cc: alan@idiocy.org, emacs-devel@gnu.org > Date: Sun, 05 Jan 2020 14:18:55 -0500 > > > How do you give the syntax-processing thread access to buffer text, if > > it's running asynchronously? > > That's indeed one of the questions that I think we should answer as part > of such a new design. > > In the case of LSP this is done by maintaining a copy of our buffer's > content in the LSP server process. That's exactly the issue: if we need to make a copy just to run the parser asynchronously, then there's no advantage significant in having such asynchronous processing inside the Emacs process, we might as well communicate to an external process and pass it that copy.