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: Sat, 23 Sep 2023 16:01:18 +0300 Message-ID: <83lecx3uxt.fsf@gnu.org> 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> <55f29d31-947f-4cfc-a90e-36b0592ba12e@gutov.dev> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="5068"; mail-complaints-to="usenet@ciao.gmane.io" Cc: yantar92@posteo.net, 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 Sat Sep 23 15:02:22 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 1qk2H7-00015q-GW for ged-emacs-devel@m.gmane-mx.org; Sat, 23 Sep 2023 15:02:21 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qk2GR-0001la-US; Sat, 23 Sep 2023 09:01:39 -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 1qk2Fv-0001fx-W8 for emacs-devel@gnu.org; Sat, 23 Sep 2023 09:01:08 -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 1qk2Fu-00037d-Av; Sat, 23 Sep 2023 09:01:06 -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=kEMorxhdNJUDY5PrkodNcpLqje0dZzWRvb+REKmgA9E=; b=UWIofROyf5HK /SP6yNAeNOG9uoREZUW3DH1MLIxyoL/0MYlkEJg/eFGtS7ERrZghz+8AoA1BTbELJeZRfByHxOOM5 o39fbwjexDjKDnEYtUzhgZ+kld+RYEQR5QubtxJ6+z7ZoVSD2AO6LxiYZqGsdPZlOXV/TtvnfhGYS H2ZQSr5pi5Sr2Fm8tzZQBXXv+Pf6g3MIPovgVLCCn3PBaWLoDh7INbKZRr2GWMeAOR4yAnLQq1Rbh 3eRmiWTl8Xthy/EvBRayWmcghVraeF3FU2tnIrInHSDT6m/ujpyWHv462BFVdC89nTou9fKcgzZin xD8rTscJkfvNIsimRujNoA==; In-Reply-To: <55f29d31-947f-4cfc-a90e-36b0592ba12e@gutov.dev> (message from Dmitry Gutov on Sat, 23 Sep 2023 15:53:11 +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:311000 Archived-At: > Date: Sat, 23 Sep 2023 15:53:11 +0300 > Cc: acm@muc.de, incal@dataswamp.org, emacs-devel@gnu.org > From: Dmitry Gutov > > 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. That's not my point. My point is that if we say that changes to adapt existing code to threads are acceptable, we will have to make those changes all over our infrastructure, otherwise programs written for threads will not ready for threads 100%.