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: Emacs design and architecture. How about copy-on-write? Date: Thu, 21 Sep 2023 16:44:40 +0300 Message-ID: <83v8c38wtz.fsf@gnu.org> References: <83cyyfe5l8.fsf@gnu.org> <87led2o0nb.fsf@localhost> <83ttrqcpfb.fsf@gnu.org> <877comnv4a.fsf@localhost> <83fs3ackrq.fsf@gnu.org> <99e84ae7-b3aa-a009-5cb8-a75826343196@gutov.dev> <838r92cgxp.fsf@gnu.org> <837comcam8.fsf@gnu.org> <6946e6f0-c6ef-186c-35d4-c09935c05a07@gutov.dev> <83y1h1axtq.fsf@gnu.org> <87sf79rq5o.fsf@yahoo.com> <83fs38c2yv.fsf@gnu.org> <83o7hw9ee1.fsf@gnu.org> <87il84q845.fsf@yahoo.com> <83il849bx6.fsf@gnu.org> <87a5tfri8c.fsf@yahoo.com> <878r8z27cs.fsf@localhost> <44e98df7-f683-ac07-e644-40757f1d26f9@gutov.dev> <87msxfzts6.fsf@localhost> <837cojadg2.fsf@gnu.org> <33e6ecd3-8f1c-fa02-b5fc-bb39c87b53d7@gutov.dev> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="10062"; mail-complaints-to="usenet@ciao.gmane.io" Cc: yantar92@posteo.net, luangruo@yahoo.com, acm@muc.de, incal@dataswamp.org, emacs-devel@gnu.org To: Dmitry Gutov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Sep 21 15:45:39 2023 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 1qjJzv-0002SX-21 for ged-emacs-devel@m.gmane-mx.org; Thu, 21 Sep 2023 15:45:39 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qjJz1-0000ho-MY; Thu, 21 Sep 2023 09:44:44 -0400 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 1qjJyw-0000hQ-92 for emacs-devel@gnu.org; Thu, 21 Sep 2023 09:44:39 -0400 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 1qjJyt-0002vc-Dv; Thu, 21 Sep 2023 09:44:36 -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=zEynMNWt84YRM8IvHx+bQytv9eEVMWNAObghGqoMF4U=; b=B60Q3HMZwOT9 y0K88t5WOnCdoLkzvHh5torfcO5YbLFxnIqUpu+XLRohYoJG7zC2pclg9wH0/jfQ3+LNOff84P6PF q9wtMs88Ww8hTqWz9oTkxC9cw71IqWwqmtbajMxIMA6FXOTfF1VhIAWQ3O6Apb/U1s3VvHUugsqhQ 7ckbVVBHEK5obtgzWIhfMmUZVWpewJeFt1NskIR+IkhFcU7QD3t8wKLnJ3hnUpO81MqXsnIec0oxp ilUJdrK/HamVJQt2QeeD+V5ILb6+iH/8ZHCXXAdkf5Gapx1C13GXL8XsiBgluWrGc14HDj08bBDni Mk5L6CC4RFRxLXP7z11dIg==; In-Reply-To: <33e6ecd3-8f1c-fa02-b5fc-bb39c87b53d7@gutov.dev> (message from Dmitry Gutov on Thu, 21 Sep 2023 16:30:00 +0300) 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:310911 Archived-At: > Date: Thu, 21 Sep 2023 16:30:00 +0300 > Cc: luangruo@yahoo.com, acm@muc.de, incal@dataswamp.org, emacs-devel@gnu.org > From: Dmitry Gutov > > On 21/09/2023 16:00, Eli Zaretskii wrote: > > You are basically proposing us to provide broken, incorrect, and > > outdated display in some cases. That won't fly, so it's a > > non-starter. > > If might prove an okay experience, if the "outdated" part is within > certain bounds. Like if the current buffer refreshes at 30/60fps, and > the mode-line at 10/20fps, for example. That's not what was proposed. The proposal was to do a "quick-and-dirty" layout first, and use the results if the "accurate" layout takes too long. The quick-and-dirty layout can only be based on ignoring changes in fonts and disregarding images and stuff like that, so the screen lines will be wrong, and you will see them jump and/or rearrange after some delay, which could be some seconds. Some browsers do that when they need to download images, and it always jars me when that happens. Usually, I also lose the place where I was reading. I hope Emacs will never behave like that.