From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Karl Fogel Newsgroups: gmane.emacs.devel Subject: Re: Question collaborative editing. Date: Wed, 30 Sep 2020 12:00:36 -0500 Message-ID: <87imbvyzbf.fsf@red-bean.com> References: <219042AC-556D-48CC-8920-82D9BF2BD3AA@aol.com> <3A81FB67-A558-4281-8285-CDD9B01033E3@posteo.net> <1C949FC9-6023-467E-99EC-75D57B08AFB0@gnu.support> <20200929124513.fd745r2txowwbiir@Ergus> <87blho7af9.fsf@red-bean.com> <20200929215849.zg4wzytbrwx2b7ih@Ergus> <84B86B7C-81F0-42DF-894C-BF577E4B3D6E@mit.edu> <20200930001333.g6b3mqa4mdsoxiue@Ergus> <87r1qjzp91.fsf@red-bean.com> <20200930131931.scdkrx46vylpi4c3@Ergus> Reply-To: Karl Fogel Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="20732"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: Qiantan Hong , Fermin , Jean Louis , Noam Postavsky , Emacs developers , Stefan Monnier To: Ergus Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Sep 30 19:09:12 2020 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 1kNfbL-0005FM-Lt for ged-emacs-devel@m.gmane-mx.org; Wed, 30 Sep 2020 19:09:11 +0200 Original-Received: from localhost ([::1]:52612 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kNfbK-0001JX-M0 for ged-emacs-devel@m.gmane-mx.org; Wed, 30 Sep 2020 13:09:10 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:42282) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kNfTD-0002SN-GX for emacs-devel@gnu.org; Wed, 30 Sep 2020 13:00:47 -0400 Original-Received: from newsp.red-bean.com ([45.79.25.59]:57266 helo=sanpietro.red-bean.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kNfTB-0008C4-2A for emacs-devel@gnu.org; Wed, 30 Sep 2020 13:00:47 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=red-bean.com; s=202005newsp; h=Content-Type:MIME-Version:Message-ID: In-Reply-To:Date:Reply-To:References:Subject:Cc:To:From:Sender: Content-Transfer-Encoding:Content-ID:Content-Description; bh=jMbi27cqfeqP0H4uTitfqew+P8ER2PCaPunjx9+yHSE=; t=1601485244; x=1602694844; b=l/TdiWi9L3w5X58Hlyt7zM5oHGMoOGzmdwkzvydmESJcTdcLFTafXxrznZHhUmqw26oSLYJ/Zf zyJz4y483538mkLrWUQ76nyDP2aHdmiMhDzEJLQGZ/EeLu5JcXnlqkyR4BHVKUfWS2F7RQO+w1mHi GlNdNqezc3IAzxghxua4f8wQheApSiyWGP8lSyk3AdDj/yNBmjBrVQg3EzyAGyfjWNEHFa/pktbxr wtzGVwpwaQAn9Da/FnU5r9UVZmXi+wnz6DAzhpecNx99/C6QNwKnMTf1ZbPPWT6cpYM1S05itwksY dkEvi4Lxw/2IHwW4Q0mHMCqtY0ePw7B7MROHQ==; Original-Received: from 99-112-125-163.lightspeed.cicril.sbcglobal.net ([99.112.125.163]:38106 helo=floss) by sanpietro.red-bean.com with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kNfT3-0005nR-GY; Wed, 30 Sep 2020 17:00:37 +0000 In-Reply-To: <20200930131931.scdkrx46vylpi4c3@Ergus> (Ergus's message of "Wed, 30 Sep 2020 15:19:31 +0200") Received-SPF: pass client-ip=45.79.25.59; envelope-from=kfogel@red-bean.com; helo=sanpietro.red-bean.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/30 13:00:43 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, 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.23 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" Xref: news.gmane.io gmane.emacs.devel:256774 Archived-At: On 30 Sep 2020, Ergus wrote: >On Wed, Sep 30, 2020 at 02:40:26AM -0500, Karl Fogel wrote: >>On 30 Sep 2020, Ergus wrote: >>>I would be concerned about the performance (but I am paranoid about >>>Emacs performance anyway so don't worry for that). AFAIR emacs buffers >>>are stored in a contiguous way (I may be wrong) >> >>Information about how Emacs buffers are represented under the hood can be found here: >> >>* https://git.savannah.gnu.org/cgit/emacs.git/tree/src/buffer.h#n213 >> >>* https://www.gnu.org/software/emacs/manual/html_node/elisp/Buffer-Gap.html >> >This is interesting indeed. > >I was looking at this to compare what's around: > >https://ecc-comp.blogspot.com/2015/05/a-brief-glance-at-how-5-text-editors.html When I responded, I should have added what Eli later said in the thread, though: There's no reason why the underlying (C level) implementation of buffers should matter here. I expect that collaborative editing can be successfully implemented entirely in Elisp; it would be very, very surprising if you need to look at or even understand anything at the C level for this. Best regards, -Karl