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: New optimisations for long raw strings in C++ Mode. Date: Wed, 10 Aug 2022 20:41:37 +0300 Message-ID: <834jykq9m6.fsf@gnu.org> References: <87fsi5xw9l.fsf@gnus.org> <83wnbhtlzb.fsf@gnu.org> <703c2351d96919276449@heytings.org> <83o7wsqlcm.fsf@gnu.org> <83edxoqcnl.fsf@gnu.org> <83a68cqbm0.fsf@gnu.org> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="32948"; mail-complaints-to="usenet@ciao.gmane.io" Cc: gregory@heytings.org, larsi@gnus.org, emacs-devel@gnu.org To: Alan Mackenzie Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Aug 10 19:43:51 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 1oLpkE-0008Pp-PA for ged-emacs-devel@m.gmane-mx.org; Wed, 10 Aug 2022 19:43:50 +0200 Original-Received: from localhost ([::1]:60918 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oLpkD-00056T-9g for ged-emacs-devel@m.gmane-mx.org; Wed, 10 Aug 2022 13:43:49 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:59122) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oLpiG-0003tg-7g for emacs-devel@gnu.org; Wed, 10 Aug 2022 13:41:49 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:37994) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oLpiE-00061m-AO; Wed, 10 Aug 2022 13:41:47 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=boKEVsUtgNTOvce+1CU5wrxcc60IpQecAE4vxdJC4vI=; b=HPcaqru5fPm9 WZrH1EOWWRximWml/YdHY4kU3zA39VAQiK3UcVYNDlGSxFwzjaDXkHEz3WLYrKHmN7VbWfz9BdRlE AbMIDJLy5m/IykXUv/uzIPyG2XCPyk3wrV1gEOrVBt8gK7Q4FlxHjqJZMm161Tm1XTsfQB32/PLTF Xu/gIycx2KiNprO6DVXM0SuomZuUfYIF5CDsbxXQsW1ihP0exzpQplA7kgs7rniA5VrmfLVrxyvP3 eq3234GYU0L89M+WPoXjZmLyPY/+TPWr9JLcmX7FmlGdlFUSeYZP03Ufld2eX2yap80PRP9cy1KIU A+mehuz510fdMlJ9CluR9A==; Original-Received: from [87.69.77.57] (port=2489 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 1oLpiD-00013v-P2; Wed, 10 Aug 2022 13:41:46 -0400 In-Reply-To: (message from Alan Mackenzie on Wed, 10 Aug 2022 17:32:46 +0000) 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:293365 Archived-At: > Date: Wed, 10 Aug 2022 17:32:46 +0000 > Cc: gregory@heytings.org, larsi@gnus.org, emacs-devel@gnu.org > From: Alan Mackenzie > > > > > You seem to disagree with a major idea of the design of the Emacs > > > > display engine. > > > > I don't think I do. I think you mean the idea of lazy fontification, > > > though you haven't been specific. > > > No, I mean the idea that redisplay processes only a small amount of > > buffer text around the window. > > I don't think such an idea is coherent, due to the lack of precision of > the word "processes". I understand that redisplay _fontifies_ only a > small amount of buffer text. However, it can get better results if it is > free to _look_ at text anywhere in the buffer. Think about the _idea_ of that: we want to process as little as absolutely necessary for display. It follows that every code we invoke as part of that job should strive to do the same. > You seem to be conflating "fontifying" with "looking at". I don't think > that's helpful. I'm not talking about "looking at", I'm taking about processing. fontification-functions rarely go to far places because they just want to "look", they go there because they want to process text there, possibly process all the text from there to window start. > > > This is absolutely necessary correctly to fontify (long) strings and > > > comments, for example. > > > Only if you assume the most simplistic processing. > > If you open a file in its middle (e.g., by desktop), and there's an open > block comment there, you've got to look arbitrarily far back to detect > that state. Really? Then please tell me how is it that we the humans can detect incorrect fontifications even when shown partial strings and comments? We know that fontifications are incorrect, and where strings or comments start or end immediately, just after a single glance. We never need to go to BOB to find that out.