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: Fri, 22 Sep 2023 15:26:04 +0300 Message-ID: <83ediq75sz.fsf@gnu.org> References: <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> <83v8c38wtz.fsf@gnu.org> <87ediqy01k.fsf@localhost> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="35399"; mail-complaints-to="usenet@ciao.gmane.io" Cc: dmitry@gutov.dev, luangruo@yahoo.com, acm@muc.de, incal@dataswamp.org, emacs-devel@gnu.org To: Ihor Radchenko Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Sep 22 14:26:50 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 1qjfFB-000930-Ll for ged-emacs-devel@m.gmane-mx.org; Fri, 22 Sep 2023 14:26:49 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qjfEW-0006wj-VH; Fri, 22 Sep 2023 08:26:08 -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 1qjfET-0006wG-OO for emacs-devel@gnu.org; Fri, 22 Sep 2023 08:26:05 -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 1qjfEQ-0000fP-Lv; Fri, 22 Sep 2023 08:26:03 -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=6695ZY6U0P/rUIb1hbf9G+v1D0frjNt+QLEFP0c2jq4=; b=j0SsDm9JtG35 PmLK7V1WooGXguT6nNS7dyI6gESKWsAgxz0dGklfSz3eARM+ownRUaIZbV9kysqaLj3LGV7WHDrOe hXjFjuTu5A3qc9NrLGw7QuS25DgR9MN6N4/8+/S3jE/U+xrpNeiA07OdxekkmPGgeKSlSlOJ89kj0 BDfarJepWft49WjBAu+ImPuj4PC3k+XCEDjC35kGjJT7lO6ITH7bkZ/zNSnon8D24e0Jaru9qLjdt jZHo350rQwlO3Cd8PsMHr5Zuxn+xYklV9Xa1/kGKItaFsBhKAkIpAM6DoWoUBzDb6IK/utyc/cfVA 3geTxGB6fqI4QXzhHAQPzg==; In-Reply-To: <87ediqy01k.fsf@localhost> (message from Ihor Radchenko on Fri, 22 Sep 2023 10:28:23 +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-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:310953 Archived-At: > From: Ihor Radchenko > Cc: Dmitry Gutov , luangruo@yahoo.com, acm@muc.de, > incal@dataswamp.org, emacs-devel@gnu.org > Date: Fri, 22 Sep 2023 10:28:23 +0000 > > What about "quick-and-dirty" layout being "empty" window that is also > blocked for user interaction. (I am assuming that redisplay is > asynchronous here). Then, the user will be blocked from interacting > with a single problematic window being redisplayed, but could still work > with other windows/buffers without waiting for Emacs to "unhang". You will need to describe in more detail what you mean by "user interaction with a window". In Emacs, users don't interact with windows, they interact with Emacs. Did you mean that such a window should not be the selected one? If so, does it mean Emacs should make another window to be the selected one if the selected one takes too long to display? If that is what you mean, I'm not sure users will like that. For example, touch typists could be tricked into modifying a completely different buffer in this way.