all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Concurrent editing in emacs
@ 2021-10-18  4:28 Vikas Rawal
  2021-10-18  4:57 ` Corwin Brust
  0 siblings, 1 reply; 3+ messages in thread
From: Vikas Rawal @ 2021-10-18  4:28 UTC (permalink / raw)
  To: help-gnu-emacs@gnu.org


I am looking for a solution where an emacs session is shared with
multiple users who can simultaneously work on some/all buffers.

I have come across this solution:
https://dirk.eddelbuettel.com/papers/r4_byobu_collaborate.pdf

This is., however, not entirely satisfactory as only one user controls
the cursor at any time. Every user has the same view of emacs, the
control keeps jumping from one user to another depending on who
attempts to take control last.

What I am looking for is a solution where different users can
independently work on the buffers. Each user should be able to see
what others are doing but not prevent others. This could obviously
create conflicts and we will have to have a clean mechanism for
locking resources (whoever takes control first retains it until
released).

It would be good if this controlling mechanism is major-mode
specific. For example, an ESS buffer running R should have
buffer-level lock. But an org-mode buffer might have a headline-level
locking mechanism.

I don't know if something like this can be achieved using existing
tools, or whether this is an area in which tools need to be developed.

But I thought I will put this out, in case somebody has pointers,
solutions or any advice.

Vikas



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Concurrent editing in emacs
  2021-10-18  4:28 Concurrent editing in emacs Vikas Rawal
@ 2021-10-18  4:57 ` Corwin Brust
  2021-10-18 10:10   ` Vikas Rawal
  0 siblings, 1 reply; 3+ messages in thread
From: Corwin Brust @ 2021-10-18  4:57 UTC (permalink / raw)
  To: Vikas Rawal; +Cc: help-gnu-emacs@gnu.org

Hi Vikas!

On Sun, Oct 17, 2021 at 11:29 PM Vikas Rawal <vikasrawal@gmail.com> wrote:
>
>
> I am looking for a solution where an emacs session is shared with
> multiple users who can simultaneously work on some/all buffers.

Have you already found CRDT?

https://elpa.gnu.org/packages/crdt.html

This has worked nicely for volunteers helping with emacsconf to share
notes files during meetings.  Each session can share multiple buffers,
and there's really nice org support including the ability to "share"
the folding state (we can the same expanded/collapsed sections).   We
can see each others' cursors but are able to independently navigate,
both around a document and across buffers shared in the CRDT session.

CRDT is quite nice and (even better) Qiantan, the author aggressively
maintains it and is welcoming toward ideas/patches.  The RPG game
engine project I'm working on has even been looking at automating
sharing of game maps and such using this and we've had a patch
accepted to make automating use (via elisp) a tiny bit easier.

Best,
Corwin



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Concurrent editing in emacs
  2021-10-18  4:57 ` Corwin Brust
@ 2021-10-18 10:10   ` Vikas Rawal
  0 siblings, 0 replies; 3+ messages in thread
From: Vikas Rawal @ 2021-10-18 10:10 UTC (permalink / raw)
  To: Corwin Brust; +Cc: help-gnu-emacs@gnu.org

> > I am looking for a solution where an emacs session is shared with
> > multiple users who can simultaneously work on some/all buffers.
>
> Have you already found CRDT?
>
> https://elpa.gnu.org/packages/crdt.html

I had not. This is brilliant!

Thank you.

Vikas



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-10-18 10:10 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-10-18  4:28 Concurrent editing in emacs Vikas Rawal
2021-10-18  4:57 ` Corwin Brust
2021-10-18 10:10   ` Vikas Rawal

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.