From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.devel Subject: Re: Emacs design and architecture. How about copy-on-write? Date: Sat, 23 Sep 2023 15:53:11 +0300 Message-ID: <55f29d31-947f-4cfc-a90e-36b0592ba12e@gutov.dev> References: <87cyyhc7uu.fsf@dataswamp.org> <83ttrsg9nx.fsf@gnu.org> <83h6nrg4eg.fsf@gnu.org> <83v8c7elan.fsf@gnu.org> <877conk5ny.fsf@localhost> <83ttrreeu0.fsf@gnu.org> <87bkdzeas1.fsf@localhost> <83cyyfe5l8.fsf@gnu.org> <87led2o0nb.fsf@localhost> <83ttrqcpfb.fsf@gnu.org> <877comnv4a.fsf@localhost> <83fs3ackrq.fsf@gnu.org> <87ttrp89bx.fsf@localhost> <83led1aqnq.fsf@gnu.org> <87v8c3zun7.fsf@localhost> <83r0mr8w0j.fsf@gnu.org> <87bkduxz3l.fsf@localhost> <83cyya75eb.fsf@gnu.org> <877coh2lmd.fsf@localhost> <83r0mp3zh5.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="8207"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Cc: acm@muc.de, incal@dataswamp.org, emacs-devel@gnu.org To: Eli Zaretskii , Ihor Radchenko Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Sep 23 14:54:24 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 1qk29O-0001tl-T2 for ged-emacs-devel@m.gmane-mx.org; Sat, 23 Sep 2023 14:54:23 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qk28T-00089i-3z; Sat, 23 Sep 2023 08:53:25 -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 1qk28R-00089V-Gt for emacs-devel@gnu.org; Sat, 23 Sep 2023 08:53:23 -0400 Original-Received: from wout3-smtp.messagingengine.com ([64.147.123.19]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qk28P-0001UT-A2; Sat, 23 Sep 2023 08:53:23 -0400 Original-Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.west.internal (Postfix) with ESMTP id 7F04432009B5; Sat, 23 Sep 2023 08:53:15 -0400 (EDT) Original-Received: from mailfrontend2 ([10.202.2.163]) by compute3.internal (MEProxy); Sat, 23 Sep 2023 08:53:15 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm1; t= 1695473595; x=1695559995; bh=9lQJI6M81dxd11Gq3y/3VlWmLUFsROmJdvj 2AVq5jvc=; b=1ql/xRWIJFBhwpqEWrHH6wtQzekTtJ8/3ubexyKQlu/+1+Cdtof JeByl/A8h2GMBOh8FpFeVQvoN39CdbxlrOPoALxcMM3T8Ba5LSxMBcESl8enKzKc lLkrdXwPrK12vH/KIgy+2ZIxSkk6izkz3ZPt0zM2CQf/PzpjjSsobUs1X9QLiLht xaH8M9S+VGcvZotA/iQis4GWrkKhMrJJsVyERuKboVEZyWiqKsWA8SI6vExJUTYt Y3ymloAV+qje/gCjDpVlmzMJ9cws1gJoe8NuEqQ9EcFE8JqK0PNXCaGd0rgq2sLZ vRZCD/Yz/ebczyuYqx2QTaxpQmDE4/B5gHw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1695473595; x=1695559995; bh=9lQJI6M81dxd11Gq3y/3VlWmLUFsROmJdvj 2AVq5jvc=; b=CkwYjPpqIQzuI997lvfZs3BmApLEZ/4DYedPymYmE4E2t00jADP 3WuOX5zL3xctxCRoiO+Pd3GlmO3bu7RKY9bBbkzzE7fFy6tzFSy9uOb1lwNrapDA MvAw4b4RI/edH0Hlb1ugOnU+kRhbxTN6OvSmnXbE7ZkUaWtUaTOOjVQhVXEvfWli 4SlgIii2HYpE2qWVOM8xNFbscykmwpN/+OEcHd0QIY0NSP6IplmjksDjLMMSOr56 grNlwpn0WDV9r/W+81KDpy25ZSq+NVMJcChs4jlYZYnoZjbOQUgKfYs02mVxFfUZ G87j8ObiqRS4W0r8wAmQWXBi3kshU1Np9gg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrudeltddgheekucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddtfeejnecuhfhrohhmpeffmhhi thhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdruggvvheqnecuggftrfgrth htvghrnhepiefgteevheevveffheeltdeukeeiieekueefgedugfefgefhudelgfefveel vdevnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepug hmihhtrhihsehguhhtohhvrdguvghv X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Original-Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat, 23 Sep 2023 08:53:13 -0400 (EDT) Content-Language: en-US In-Reply-To: <83r0mp3zh5.fsf@gnu.org> Received-SPF: pass client-ip=64.147.123.19; envelope-from=dmitry@gutov.dev; helo=wout3-smtp.messagingengine.com X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-1.473, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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:310999 Archived-At: On 23/09/2023 14:23, Eli Zaretskii wrote: > As a trivial example, any function that modifies a file-visiting > buffer could prompt the user if the file was meanwhile modified on > disk. This prompt is completely out of control of any Lisp program > which does something that modifies buffer text. How do we handle > these cases? their name is a legion. Any function that prompts the user is not supposed to be fast. So it might as well acquire any number of global locks to do that. So it's not an issue for concurrency - though it might become a stumbling block for the "concurrent redisplay" sub-project.