emacs-devel
[Top][All Lists]
Advanced

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

Re: Behavior of input method -- crdt.el


From: Eli Zaretskii
Subject: Re: Behavior of input method -- crdt.el
Date: Mon, 19 Oct 2020 18:06:25 +0300

> From: Qiantan Hong <qhong@mit.edu>
> CC: Stefan Monnier <monnier@iro.umontreal.ca>,
>         "emacs-devel@gnu.org"
>       <emacs-devel@gnu.org>
> Date: Mon, 19 Oct 2020 14:55:31 +0000
> 
> > This isn't limited to input methods, btw: did you try typing several
> > characters that are composed together on display into a single
> > grapheme cluster (under auto-composition-mode)? what happens if remote
> > command arrives in the middle of this sequence and moves point?
> Is there variable to detect such usage like “quail-translating”?

No.  But is there a problem?

> > We are talking about Leim input methods, not about the input methods
> > your OS supports.  Do such long sequences that produce entire phrases
> > happen in our input methods?  If so, can you show an example?
> There are input methods written by users using Quail framework.
> E.g. https://melpa.org/#/pyim

Can you help me with an example of a long sequence that produces an
entire phrase with that input method?

> > Do we have to employ hacks?  Quail input methods tell you when they
> > don't expect to be interrupted, by setting quail-translating to a
> > non-nil value; why not use that indication to handle this issue in a
> > non-hackish way?
> For quail input method, remote command will never interrupt the
> sequence themselves. Because crdt.el doesn’t assign CRDT IDs
> to those pending text, remote change will never resolve in the middle
> of such sequence. They are not synchronized to other peers either.
> It follows exact the conceptual model “text pending translation
> are not in the buffer yet, they’re just displayed there”. They don’t
> need to lock the buffer either.

I'm not sure I understand: are you saying that the problem with
receiving remote commands in the middle of a Leim input sequence
doesn't exist?  If so, what was the situation about which you asked
the question that started this thread?



reply via email to

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