Tommaso Cucinotta wrote: > For example: > -) I know, cases will grow fast...
If you suffer from good sleep, then start considering these: - User adds external material (graphics,biblio, whatever). Now what? - User runs various lfuns (and there are tons of doc-changing lfuns, start with search/replace eg). - User is in the middle of citation dialog, another user deletes this citation/paragraph. Now what? - We do lot of iterator/referencing computations (sections,figures,citations,cross-refs) so change at single point of document has potential to break things at any distance (paragraph based locking is not much of help). Even with the simplistic ACK-based protocol (no write before peer's ACK) I proposed as a first attempt, which will avoid _lot_ of the problems but migh be not good enough for latency reasons, we are IMHO already in nightmare. Maybe JMarc could have a comment here: how hard would it be to reuse Undo (actually Redo) stuff? This machinery must be already slightly independent on the current cursor position, no? Instead of sending lfuns between peers, we would send "redo" actions which already contain cursor info. Pavel