From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Qiantan Hong Newsgroups: gmane.emacs.devel Subject: Re: Behavior of input method -- crdt.el Date: Mon, 19 Oct 2020 14:55:31 +0000 Message-ID: References: <73AE53EF-1AE2-4860-9019-36DFA68D27AB@mit.edu> <831rhvq78u.fsf@gnu.org> <83v9f6p9ut.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="Apple-Mail=_42E8BA1F-0CC3-4020-AFE7-E6D7856E99B0"; protocol="application/pkcs7-signature"; micalg=sha-256 Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="15368"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Stefan Monnier , "emacs-devel@gnu.org" To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Oct 19 16:57:13 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kUWb2-0003rS-CT for ged-emacs-devel@m.gmane-mx.org; Mon, 19 Oct 2020 16:57:12 +0200 Original-Received: from localhost ([::1]:54134 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kUWb1-00031Q-Fe for ged-emacs-devel@m.gmane-mx.org; Mon, 19 Oct 2020 10:57:11 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:36816) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kUWZm-00025w-R3 for emacs-devel@gnu.org; Mon, 19 Oct 2020 10:55:54 -0400 Original-Received: from outgoing-exchange-3.mit.edu ([18.9.28.13]:48662) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kUWZk-0000JW-Kd; Mon, 19 Oct 2020 10:55:54 -0400 Original-Received: from w92exedge4.exchange.mit.edu (W92EXEDGE4.EXCHANGE.MIT.EDU [18.7.73.16]) by outgoing-exchange-3.mit.edu (8.14.7/8.12.4) with ESMTP id 09JEtjmf012605; Mon, 19 Oct 2020 10:55:50 -0400 Original-Received: from oc11expo16.exchange.mit.edu (18.9.4.47) by w92exedge4.exchange.mit.edu (18.7.73.16) with Microsoft SMTP Server (TLS) id 15.0.1293.2; Mon, 19 Oct 2020 10:55:21 -0400 Original-Received: from oc11expo16.exchange.mit.edu (18.9.4.47) by oc11expo16.exchange.mit.edu (18.9.4.47) with Microsoft SMTP Server (TLS) id 15.0.1365.1; Mon, 19 Oct 2020 10:55:31 -0400 Original-Received: from oc11expo16.exchange.mit.edu ([18.9.4.47]) by oc11expo16.exchange.mit.edu ([18.9.4.47]) with mapi id 15.00.1365.000; Mon, 19 Oct 2020 10:55:31 -0400 Thread-Topic: Behavior of input method -- crdt.el Thread-Index: AQHWpZCb1Vxu2LT9nEiVHC//b83H9KmeM/XYgABIrwCAAIDSloAASj6A In-Reply-To: <83v9f6p9ut.fsf@gnu.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes x-ms-exchange-messagesentrepresentingtype: 1 x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [18.18.245.17] Received-SPF: pass client-ip=18.9.28.13; envelope-from=qhong@mit.edu; helo=outgoing-exchange-3.mit.edu X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/19 10:55:50 X-ACL-Warn: Detected OS = Windows 7 (Websense crawler) X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:258121 Archived-At: --Apple-Mail=_42E8BA1F-0CC3-4020-AFE7-E6D7856E99B0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 >=20 > 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 =E2=80=9Cquail-translating=E2=80= =9D? > 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 > 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=E2=80=99t 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 =E2=80=9Ctext pending translation are not in the buffer yet, they=E2=80=99re just displayed there=E2=80=9D. = They don=E2=80=99t need to lock the buffer either.= --Apple-Mail=_42E8BA1F-0CC3-4020-AFE7-E6D7856E99B0 Content-Disposition: attachment; filename="smime.p7s" Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCA70w ggO5MIIDIqADAgECAhAaql39NsO1qLVjkS2hl517MA0GCSqGSIb3DQEBCwUAMGwxCzAJBgNVBAYT AlVTMRYwFAYDVQQIEw1NYXNzYWNodXNldHRzMS4wLAYDVQQKEyVNYXNzYWNodXNldHRzIEluc3Rp dHV0ZSBvZiBUZWNobm9sb2d5MRUwEwYDVQQLEwxDbGllbnQgQ0EgdjEwHhcNMjAwODAzMDEyNDIz WhcNMjEwODAxMDEyNDIzWjCBoTELMAkGA1UEBhMCVVMxFjAUBgNVBAgTDU1hc3NhY2h1c2V0dHMx LjAsBgNVBAoTJU1hc3NhY2h1c2V0dHMgSW5zdGl0dXRlIG9mIFRlY2hub2xvZ3kxFTATBgNVBAsT DENsaWVudCBDQSB2MTEVMBMGA1UEAxMMUWlhbnRhbiBIb25nMRwwGgYJKoZIhvcNAQkBFg1xaG9u Z0BNSVQuRURVMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAylUlEQdK4BSXKzoGh6As CKN/TpLmC0kjhPdxUKMj1/86Xl6GDCla4h95uISDOWVAKdu3cIlA8m9zRLT2jNEIkt1DVpXP6c9h y8RRyfJm0qlrvr6tsHi5AmO4Li6s2dEGaTxbakPL6vEn7ZYr86t5orq56nubki77Z8ZvRv9/fWdF bF/YBNGDayLNk0NbXIEQdCHiz1l+bxfw+GHHRmdOge3MKWSg463+GGMdxtLQ61AbtR2vm47FIJBt c0X6ptcInWUg4Nf/9vSNGl6KvREvfbEWKCT6TfL5ncIFlitf6ZWKue2PZ4ULFfIQ3/7EsEk03xxr S7sTOy7e2dbPboe/WwIDAQABo4GhMIGeMAkGA1UdEwQCMAAwEQYJYIZIAYb4QgEBBAQDAgWgMB0G A1UdJQQWMBQGCCsGAQUFBwMEBggrBgEFBQcDAjALBgNVHQ8EBAMCBeAwHQYDVR0OBBYEFDeb9Jlj XSm+y0CD872IhzRDIGv1MDMGA1UdHwQsMCowKKAmoCSGImh0dHA6Ly9jYS5taXQuZWR1L2NhL21p dGNsaWVudC5jcmwwDQYJKoZIhvcNAQELBQADgYEApBTx4tBbD5rQ+bNGd/Z3OBV07qFsm5QHNg0+ 6lxJ3j7q5zMMq35o6y5cBIhcFG6t+MFqJIdERZ3EprDturyqozQsIBMHFnqh+iZcMg0uQyssEqKZ hrzIdw8GuY4Z6jNewdGy5mwwG9yjpEbzWWgdofSM5rnezZz7EvCQu9ilt1sxggNDMIIDPwIBATCB gDBsMQswCQYDVQQGEwJVUzEWMBQGA1UECBMNTWFzc2FjaHVzZXR0czEuMCwGA1UEChMlTWFzc2Fj aHVzZXR0cyBJbnN0aXR1dGUgb2YgVGVjaG5vbG9neTEVMBMGA1UECxMMQ2xpZW50IENBIHYxAhAa ql39NsO1qLVjkS2hl517MA0GCWCGSAFlAwQCAQUAoIIBkzAYBgkqhkiG9w0BCQMxCwYJKoZIhvcN AQcBMBwGCSqGSIb3DQEJBTEPFw0yMDEwMTkxNDU1MzJaMC8GCSqGSIb3DQEJBDEiBCAM3riEzjO1 GXlZHhjs09B7HH3rjZhZWP5Oe2VRhZmqpzCBkQYJKwYBBAGCNxAEMYGDMIGAMGwxCzAJBgNVBAYT AlVTMRYwFAYDVQQIEw1NYXNzYWNodXNldHRzMS4wLAYDVQQKEyVNYXNzYWNodXNldHRzIEluc3Rp dHV0ZSBvZiBUZWNobm9sb2d5MRUwEwYDVQQLEwxDbGllbnQgQ0EgdjECEBqqXf02w7WotWORLaGX nXswgZMGCyqGSIb3DQEJEAILMYGDoIGAMGwxCzAJBgNVBAYTAlVTMRYwFAYDVQQIEw1NYXNzYWNo dXNldHRzMS4wLAYDVQQKEyVNYXNzYWNodXNldHRzIEluc3RpdHV0ZSBvZiBUZWNobm9sb2d5MRUw EwYDVQQLEwxDbGllbnQgQ0EgdjECEBqqXf02w7WotWORLaGXnXswDQYJKoZIhvcNAQEBBQAEggEA hqkDsKZE+nuEjSaFwPqNfM0SPMwFrbt7c9sPEXbkTUvXEUa9qhwKubITzpHf2Px/dDqZqiW77AXC h74O3RHYr9ZCdrjEDrjyvjOLX7KtRD/2twTCi9mXhSIaZYnfG3Sfv2auEzItTbCuL5ynSW9T7JgQ DzKoo9FGxSWkEvB2jf+ihWppFvVNSB1Yd7sy750FiOTqhZ8hxRsm+NEft0OZIvyGhlrtGWjeFMB+ 0vM+ztIVf/VkereJf74PjiLhhHuIBhfd9/QYQ3NpUCKKG6tiqEro4BgTHEtw6BfFdGWBfd9YPw7+ Y+MUOv4ivdluWSe0BZVX3F3XZYYb0gKATGPiJwAAAAAAAA== --Apple-Mail=_42E8BA1F-0CC3-4020-AFE7-E6D7856E99B0--