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 16:12:57 +0300 Message-ID: <83wmwi5p2e.fsf@gnu.org> References: <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> <83ediq75sz.fsf@gnu.org> <87o7huwe6f.fsf@localhost> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="37337"; 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 15:13:52 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 1qjfyh-0009X3-WA for ged-emacs-devel@m.gmane-mx.org; Fri, 22 Sep 2023 15:13:52 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qjfxk-00048B-JL; Fri, 22 Sep 2023 09:12:52 -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 1qjfxj-000483-04 for emacs-devel@gnu.org; Fri, 22 Sep 2023 09:12:51 -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 1qjfxh-0003pQ-5n; Fri, 22 Sep 2023 09:12:49 -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=ZcwnMzexStwZM9k1c6L/+LSkyQdC5Gw8hVenuM8P0Mo=; b=ZMoeKJwihPzb BKidDJYE+FgVNUqny1jKQckuHaENDliNq5nsmIw/wEEr/lss9gpjhTp8+aGbFn/9KyGgJplI0FfCq bkcUAD0OcPIhgyugoKqh9jGVnHDxjK+LGqYtP5x9LiptxDBY7nLnnPG/Fo+I+QCOsHeqyK9RfqyoZ oaTuUMIJNMS2GSQVO0YVDoj0YjvYL9RuNZZIqJ2OUcQHdLQVIytiv8XzwzMER7BAYbhshhbpuKyZO Ax7hJoW9joMfEpL2hqZPBPtSJttuPLEqwCfnOzQ69Hfq1BanEfBHuv9lFdkO7TB/FgaexnhOirMtB vjmLVrIhK5Y+I79C58YZkQ==; In-Reply-To: <87o7huwe6f.fsf@localhost> (message from Ihor Radchenko on Fri, 22 Sep 2023 13:06:00 +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:310966 Archived-At: > From: Ihor Radchenko > Cc: dmitry@gutov.dev, luangruo@yahoo.com, acm@muc.de, incal@dataswamp.org, > emacs-devel@gnu.org > Date: Fri, 22 Sep 2023 13:06:00 +0000 > > Eli Zaretskii writes: > > > 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? > > I meant that such a window can be selected, but attempting to do > anything that interacts with the window should cause user-error while > the window is being processed by redisplay. > > I imagine that users will be allowed to, at least, C-x o away from the > window or switch buffer. But not enter text or run arbitrary commands. That is still far from complete. But in any case, this seems to require addition of tests to many Emacs primitives, which would check if the selected window is "kosher", and if so, produce a user-error.