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:40:45 +0200 Message-ID: <834kx9g08y.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="45621"; mail-complaints-to="usenet@blaine.gmane.org" Cc: alan@idiocy.org, monnier@iro.umontreal.ca, emacs-devel@gnu.org To: arthur miller Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Jan 05 20:40:57 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 1ioBlh-000Bc9-8h for ged-emacs-devel@m.gmane.org; Sun, 05 Jan 2020 20:40:57 +0100 Original-Received: from localhost ([::1]:44714 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ioBlg-0005fF-3r for ged-emacs-devel@m.gmane.org; Sun, 05 Jan 2020 14:40:56 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:49487) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ioBlZ-0005ew-SC for emacs-devel@gnu.org; Sun, 05 Jan 2020 14:40:50 -0500 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:41446) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ioBlX-0001fo-Rd; Sun, 05 Jan 2020 14:40:48 -0500 Original-Received: from [176.228.60.248] (port=2014 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1ioBlP-0002Xh-UY; Sun, 05 Jan 2020 14:40:47 -0500 In-reply-to: (message from arthur miller on Sun, 5 Jan 2020 19:23:16 +0000) 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:243998 Archived-At: > From: arthur miller > CC: "alan@idiocy.org" , "emacs-devel@gnu.org" > > Date: Sun, 5 Jan 2020 19:23:16 +0000 > > I think there are two use-cases: > > 1) batch processing where entire file (or visible portion) is processed by different thread(s), for example on file > opening or if some expansion takes place (yasnippet or similar). > > This can be done by dividing text in number of blocks (lines or similar) and letting each thread match block > atva time against shared pattern database. > > 2) interactive use; when user is typing actively. Maybe I'm missing something, but I don't see how any of this is relevant to batch processing. We never do anything in batch in an interactive Emacs session, since the user is always there, waiting. The display engine has many optimizations to eliminate the delays caused by prolonged processing required to decide what should change on the glass. IOW, "interactive" doesn't just mean "typing", it can mean any other command that changes what's on display, like scrolling.