From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Richard M Stallman Newsgroups: gmane.emacs.devel Subject: Re: obby Date: Sat, 23 May 2009 11:38:49 -0400 Message-ID: References: <873abbr4hp.fsf@hagelb.org> <87my95w0kv.fsf@hagelb.org> Reply-To: rms@gnu.org NNTP-Posting-Host: lo.gmane.org Content-Type: text/plain; charset=ISO-8859-15 X-Trace: ger.gmane.org 1243093166 12815 80.91.229.12 (23 May 2009 15:39:26 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 23 May 2009 15:39:26 +0000 (UTC) Cc: jtk@yahoo.com, emacs-devel@gnu.org To: Phil Hagelberg Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat May 23 17:39:19 2009 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1M7tJd-0008Pp-O8 for ged-emacs-devel@m.gmane.org; Sat, 23 May 2009 17:39:18 +0200 Original-Received: from localhost ([127.0.0.1]:55839 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1M7tJd-00057j-1W for ged-emacs-devel@m.gmane.org; Sat, 23 May 2009 11:39:17 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1M7tJH-0004pT-59 for emacs-devel@gnu.org; Sat, 23 May 2009 11:38:55 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1M7tJC-0004k6-MO for emacs-devel@gnu.org; Sat, 23 May 2009 11:38:54 -0400 Original-Received: from [199.232.76.173] (port=53056 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1M7tJC-0004jz-B2 for emacs-devel@gnu.org; Sat, 23 May 2009 11:38:50 -0400 Original-Received: from fencepost.gnu.org ([140.186.70.10]:59960) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1M7tJC-0001v2-19 for emacs-devel@gnu.org; Sat, 23 May 2009 11:38:50 -0400 Original-Received: from rms by fencepost.gnu.org with local (Exim 4.67) (envelope-from ) id 1M7tJB-0001ec-MB; Sat, 23 May 2009 11:38:49 -0400 In-reply-to: <87my95w0kv.fsf@hagelb.org> (message from Phil Hagelberg on Fri, 22 May 2009 09:42:56 -0700) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:111034 Archived-At: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00 autolearn=ham version=3.1.0 From: Phil Hagelberg To: rms@gnu.org Subject: Re: obby Cc: emacs-devel@gnu.org, jtk@yahoo.com Date: Fri, 22 May 2009 09:42:56 -0700 In-Reply-To: (Richard M. Stallman's message of "Thu, 21 May 2009 14:35:39 -0400") Message-ID: <87my95w0kv.fsf@hagelb.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Richard M Stallman writes: > I had planned to revisit the problem once the new implementation of the > obby protocol and client (now called Infinote) had been released. But > implementing inclusion transformation is very difficult. > > Can you tell us more about this problem? The first part involves keeping a lot of state. Every edit that could be re-applied (by someone else sending a conflicting edit to the same portion of the document before yours reached the server) would need to be stored along with some metadata. (It may be possible to tie into Emacs' existing undo mechanism for this part if you were able to add some metadata to each action.) I don't think that would be too hard. But then if you are notified of a conflict, you need to un-apply your changes, apply the canonical ones you received from the server, and transform your edits so they apply cleanly. This is pretty complicated. It sounds like what undo-make-selective-list does. This might be quite easy.