emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Question collaborative editing.


From: Qiantan Hong
Subject: Re: Question collaborative editing.
Date: Wed, 30 Sep 2020 17:00:46 +0000

That's the problem collaborative editing needs to solve, isn't it?
The communications between clients should allow resolution of
differences in buffer position, and detection of losing track of text
modifications.

I don't think I understand what you mean by "C library" here.

As discussed above, if we implement CRDT as a “editor agnostic
C library”, then there will likely to be an extra synchronization
between C library and emacs.

The communications between clients should allow resolution of
differences in buffer position, and detection of losing track of text
modifications.
I’m talking about synchronization between the buffer data structure
in C library, and buffer data structure in Emacs.
Apparently we’re not going to implement CRDT between them
(otherwise why not just let Emacs powered CRDT talk to each other),
and most likely they will exchange message about raw 
(buffer position, operation, text). But this is the most naive
synchronization mechanism and have no robustness.

You don't need buffer-modification hooks, you can use other existing
mechanisms.  Emacs knows that buffer text was changed even if the
modification hooks were inhibited.
That’s a workaround, but I’m not sure if it can capture user intent
(i.e. it gives operation-wise information rather than just a diff between
versions of buffer). If it can’t then we will need to implement both
update based on modification-hooks and change state of the buffer,
which is an additional impl/maintenance burden.

Attachment: smime.p7s
Description: S/MIME cryptographic signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]