From unknown Tue Jun 17 22:21:58 2025 X-Loop: help-debbugs@gnu.org Subject: bug#62190: 30.0.50; analyze-text-conversion in Android Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: luangruo@yahoo.com, bug-gnu-emacs@gnu.org Resent-Date: Tue, 14 Mar 2023 17:30:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 62190 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 62190@debbugs.gnu.org Cc: Po Lu X-Debbugs-Original-To: bug-gnu-emacs@gnu.org X-Debbugs-Original-Xcc: Po Lu Received: via spool by submit@debbugs.gnu.org id=B.167881499622157 (code B ref -1); Tue, 14 Mar 2023 17:30:02 +0000 Received: (at submit) by debbugs.gnu.org; 14 Mar 2023 17:29:56 +0000 Received: from localhost ([127.0.0.1]:38365 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pc8TD-0005lJ-HH for submit@debbugs.gnu.org; Tue, 14 Mar 2023 13:29:55 -0400 Received: from lists.gnu.org ([209.51.188.17]:41688) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pc8TA-0005l4-FQ for submit@debbugs.gnu.org; Tue, 14 Mar 2023 13:29:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pc8T9-0004mo-Tp for bug-gnu-emacs@gnu.org; Tue, 14 Mar 2023 13:29:52 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pc8T8-000109-CG for bug-gnu-emacs@gnu.org; Tue, 14 Mar 2023 13:29:51 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 289281000CA; Tue, 14 Mar 2023 13:29:46 -0400 (EDT) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 362531000BC; Tue, 14 Mar 2023 13:29:44 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1678814984; bh=az9k8bHWUnGSxDNdDF6NmahhGwe+LTVRGOoo01eH9m8=; h=From:To:Subject:Date:From; b=FiZX+T9AqafYsTwOkXH0H2gpYNIIhAG/DHecdFXF4BC6zLYgsNkvLPpFqyB2j8Xk3 2h5xqhAiYk9nzF+tmzMqWSYU5mIiK0iyTuJtKPn3ATffappH661lRDvsXKhNjpNpn3 74YqH93QxYnIInBLGXjzadksT7Uu9TUY0d9PzLPvjQDBE0DIiOu5dyeu18XtuxN0T+ voqrUCIXjCBdwbSubboV8HAO3shwKSGy4iL7JLeR+c0jJw3tL5Dsx7sYAhezcwEh+l E9BCq28iSq30t++0UwUWX4WLXtPok+KZJSNhimbGT6F4tIm+5NpRghOC6bA87gWdfp hKW9dnwInbh/A== Received: from pastel (unknown [216.154.34.24]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 1211312328D; Tue, 14 Mar 2023 13:29:44 -0400 (EDT) From: Stefan Monnier Message-ID: Date: Tue, 14 Mar 2023 13:29:43 -0400 MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.043 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain X-SPAM-LEVEL: Received-SPF: pass client-ip=132.204.25.50; envelope-from=monnier@iro.umontreal.ca; helo=mailscanner.iro.umontreal.ca X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Package: Emacs Version: 30.0.50 I tried out the Emacs distributed on F-Droid, which is apparently built from our feature/android work, and I bumped into `analyze-text-conversion`. Currently, this breaks things like `ESC x` (I don't have Meta/Alt on my keyboard) or `C-h l` because the second event I get is not a letter (like `x` or `l`) but the event `text-conversion`. I guess this may depend on the keyboard, admittedly. IIUC this is tied to the feature whereby you can "build" a word from the keyboard before sending it "for real" to Emacs, but you get to see this word in your buffer before it's "committed"? Maybe `text-conversion` should not be generated when we're "in the middle" of `read-key-sequence`? Or maybe `text-conversion` should be turned into a sequence of "normal" events via `input-decode-map`? Or maybe more of the event processing should be done in ELisp and less in C (i.e. the raw events would be exposed to ELisp and they'd be processed a bit more like we do with our input-methods)? I'm not very knowledgeable about this topic (under Android I use my on-screen keyboards as if they were normal keyboards, very rarely even making use of the predictive features). Stefan From unknown Tue Jun 17 22:21:58 2025 X-Loop: help-debbugs@gnu.org Subject: bug#62190: 30.0.50; analyze-text-conversion in Android Resent-From: Po Lu Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 15 Mar 2023 00:48:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62190 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: 62190@debbugs.gnu.org Received: via spool by 62190-submit@debbugs.gnu.org id=B62190.16788412576777 (code B ref 62190); Wed, 15 Mar 2023 00:48:01 +0000 Received: (at 62190) by debbugs.gnu.org; 15 Mar 2023 00:47:37 +0000 Received: from localhost ([127.0.0.1]:38721 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcFIn-0001lE-E1 for submit@debbugs.gnu.org; Tue, 14 Mar 2023 20:47:37 -0400 Received: from sonic313-9.consmr.mail.ne1.yahoo.com ([66.163.185.32]:37509) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcFIk-0001kx-Iy for 62190@debbugs.gnu.org; Tue, 14 Mar 2023 20:47:35 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1678841246; bh=1bVEfDQItvoDR2HlulTKcow8FQWlt356vlJIyD6yWv4=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=fyfz91rRnYqzWXsMwTkvXswUPnf3RN0SdyjZ+WheXIUsHflyo+wlqcEvtGX5q0CkmdVc/3EXI/wUQbbcuf6yj+489jS1PD4N0/bgYXljbPd3IEiOTLOgVS97at5r+tsrkh+EXdR7SdLAIHHNUPutAUu6jnGhVjDSIcjfLAf0dnhe62oNzYmDDcfzVmDT4YDwYP3vEp0afTlPI/NhK+yH7xClWgDVdV3lXBZOZcBjkCtISH0RANXGBCJn3ZVAPrKCM5Vj7z6bfg2W5/t7vX+blrD4VWzHkTqQSZiRBafL+/MY3nGzYpBSnSM2V/W21vsji276Lr9YZ9CBtHrRea08Sg== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1678841246; bh=1Ik2Dronkuho9SmqcgAe9bp/3Rf+BN3EM2L9xb9TJwS=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=Pwx8XL9MonMMIn7qrqUiJkVVFuDn1cwBjgd9T6jfkCT9kcDw/2Z+qPE/oDpvqASpKHz8FT3S4wYkaZ3Ehh20BHezpKEfwVjaKmVRhLaffqRCc6fvJEcwxTmOMgsZTnAQYXwTqS8de56bGcNFPUG4TPsuL2AeSULV+m52mAhSnOlf+Zf8txucfRbZpalsmCLrMUTtOM8f9Hcv0uRpdi8XFTkPEwFzPYi5LaOblwhbNE/pfiaCcHvrGbcFVYwNeI4dxa0/pm9AJXKVLvVQbRC+/hemRTdpFd2Rq9pMq15VI3AWl4TbG7bzZ0oYUnTIpPe85FfHfzHCZZihUKE3CU5xFw== X-YMail-OSG: BQuW4eAVM1mOZ2CJ7zFMdl_eSXA4h8pfAkWr5j5UaDsbLDnMVGwxtsr8sPWuQCx 2fxXAQRoLPkA9bdn5MZJh2LmIXVwjvtgt2wYc6hzSi6OrSvxQpZb3B0idNHUkALnOYTKq1UCFj7d r9iqthfwc_sLcmZWOJ8RRYhuCGYNZSEQffYixjFipNzLgax7K4cHGAuc60Ml3d5S3XfLp_T5oYGj M31hRtn.Ei.tJjrgQrM8DZO3OTpVlaYbWpZdim6G_3rvvcVskLbvhqse27AVbSID4EJdHAGx.nhf 6.2khAlihQUdIyOgZSXXJWx0jv6Na.JwJPUUu9IpW9BPkQwF_tq_hjabGyu2tbd7YzfRBQhsNZEs HJS8zGvbOpqyn12xKvacdaL9KJIGI8QLyj6RR_BccqMTFsMsbrOpFdxOau9_Uc0f1F6u0Hic2j_O Khw5VeKDnsof.nSEZASbggl2GPVtJGBDFdlYv7UrpeSOqy2DJ1On6yNiBipRgohIpt4TSXKXSrYz 9jTxB8bP4HilqKCLsT_22f7XX6tVecB7gTiaAPSb7e.Mc23lqErzArbMOGKkfzN6sdwwmWIebiZL E1JWSnXzczt8VmEGt6njQWwJMxCuzgu_1Zk5eXZq_0YENjeTseHDJW4zPYw8BoYRMjfKMREkywwE Yr0uTRCdSmjHXBnQ9pRvUkAutCXi3RJ4qeY67MnKrGeXq_9jSyh_x_JWuDEyT0D4_NDBXPnV.Ds5 aw72ZGdY0BNvRfmcVNgvM2E4b9gVkr_Z79UMQbYwuOfjWR02fZVfoK2BlXEXtUaNPPfhw_pQGNGE UX1TdkCKDROTelQZUNNVQjjmBiJJCf1HwTbXqY5hV5_JQGRf474kI1yUz4wgplJBS062QFx0_thX .LRXTQBT29gb7qWxxS2YSpjjQKJIUUdMMLaJ2p5TuE6em3BKQRKEYgR1Ard7OhyU9syTFyZhEywJ oLveOgv7vE1iL7__JyBFpgJWoow.8C6D.sG1HS_FYSqtOUhunig33dqtw6UUMFkoKbGTIZOQMl9I Hx63aGi.XUyCMX6qkC93D_wydCbJKNTq9YCbT7VmQTLmddCPFZvTn8OitYKmdk4Lhqw1f23m1eAW 43VAuH7xz5a03Opo.i4O1GTavsN5sSQpe0m1tadTOIAsymvD7tf_CQR5jWMQlbp245JPZX58HJLT t9FUsfG2skZwkCh8behkotBrS9nXXPXo0ZVoz4KTNFvXEJX1gydtJBoQ.hzf94fVljru3KaA0PFu Sc.YPx2nf4bLJtvhCDqpFeTRryk5Tpadgxu9a4ZJJl7FQsjUaWiieM8sN_HSEAEDRPKCelz0RjEa 4qJAt.Clb8hDbR8ldpU7nfWBNIJ7y8fxmyRvnv68hcyij69uTLA19bRg2SVJYbj33KeFEpxskedZ QJV8jcyzlNzn60Fkr0TKP1C00PunyVfRaZCwMmIugUSzHh0e3QspQyqnNqrLvz.J_aAiHBIXt5KM _K7FK0ylqvLFa6fefxWy.kGGfED4ok16y6o4IUGsQc0J7rIuFFOhP2Ewmi9Ot8Qza5.2P8FVG.SE IKQbHlRZz9VoQKoiwSkn2AOxRR4QhndSi.96rYYPDJziRL5lhvh7qWdB5CopvSwMmJRHINqqqN7W fcuNg.1WV_oM6wWyZteECMgW04gc6FVYOAJu50m8NBAG.YUUy3.1RYQT1Yw7eXkRBelPqecUMzDt rFD3tt9nonM5bWIa_wSsQKbdd9tdcxXRpdsZe7yvvflCGWfNE92GNlIrpeJMN51.20rwXqF8mmxu j1lKn2WDwPeoH7.RsoibCnrdCp2Tv.U2y0JxT5lX5UCBBet3aVGPgDNFXyu7H0w2Jq9hGHkC9qaA 266.EkigykfWSrYqPSwVe_x5TU9GRUueeKR4M2xVGccao2FSDPhIyungrmgHiUaBb.emu_MpVpCR y6L7.0kb4nAE7aWQG68SWo8AZ0qzi.GhjEq52ZQxyUWUgoJCzywxxnX9rmp7xiUuxyXLmGM17Kcc 49x4HdKl.1TqkQZAhKgpy7ZdTApegemX6tEB_i5DhbrWhN6khdkpc5_pWKAgOVl_mbXHZwdVD4l6 hTHBuydcq9TzjpaF8tmERJ_ibzvF6fJejM5QceUfazvXugizai1bjAdQK6vcAbt40uDoPPqEbCxg rG2GiJETGLxnV1wnxfeldaaMzKxfC1xaVXZ6O6moZxR3ZkMNkfZHCtIrkMJ2AOJSo.AnyDjd9pQJ L9zniROYklS4idukRvlxdiIIjg8s_BuIMXoFH3i8P9psmjf3GK.uQOQVPdb0CjIbLoux7 X-Sonic-MF: X-Sonic-ID: ec1b9f97-56cc-4e8d-8b41-ce98a53967c9 Received: from sonic.gate.mail.ne1.yahoo.com by sonic313.consmr.mail.ne1.yahoo.com with HTTP; Wed, 15 Mar 2023 00:47:26 +0000 Received: by hermes--production-sg3-67c57bccff-4xlmw (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 1479e60f9153f49d1598447c8b10bfb4; Wed, 15 Mar 2023 00:47:20 +0000 (UTC) From: Po Lu In-Reply-To: (Stefan Monnier's message of "Tue, 14 Mar 2023 13:29:43 -0400") References: Date: Wed, 15 Mar 2023 08:47:16 +0800 Message-ID: <87a60e7sdn.fsf@yahoo.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Mailer: WebService/1.1.21311 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 1881 X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Stefan Monnier writes: > Package: Emacs > Version: 30.0.50 > > > I tried out the Emacs distributed on F-Droid, which is apparently built > from our feature/android work, and I bumped into > `analyze-text-conversion`. Currently, this breaks things like `ESC x` > (I don't have Meta/Alt on my keyboard) or `C-h l` because the second > event I get is not a letter (like `x` or `l`) but the event > `text-conversion`. I guess this may depend on the keyboard, admittedly. Stefan, this was already fixed on the feature/android months ago, by disabling text conversion in the middle of `read-key-sequence'. I suggest you use (more) up-to-date prebuilts at: https://sourceforge.net/projects/android-ports-for-gnu-emacs/upload/ > IIUC this is tied to the feature whereby you can "build" a word from the > keyboard before sending it "for real" to Emacs, but you get to see this > word in your buffer before it's "committed"? This is up to the input method, Emacs knows nothing about the input method policy, only that it should perform edits and apply faces to the buffer as instructed. > Maybe `text-conversion` should not be generated when we're "in the > middle" of `read-key-sequence`? Or maybe `text-conversion` should be > turned into a sequence of "normal" events via `input-decode-map`? > Or maybe more of the event processing should be done in ELisp and less > in C (i.e. the raw events would be exposed to ELisp and they'd be > processed a bit more like we do with our input-methods)? > > I'm not very knowledgeable about this topic (under Android I use my > on-screen keyboards as if they were normal keyboards, very rarely even > making use of the predictive features). Moving it to Lisp is unfortunately not possible, as Android input methods require 150% obedience from Emacs that can only be accomplished by hard wiring the logic in C. From unknown Tue Jun 17 22:21:58 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Stefan Monnier Subject: bug#62190: closed (Re: bug#62190: 30.0.50; analyze-text-conversion in Android) Message-ID: References: X-Gnu-PR-Message: they-closed 62190 X-Gnu-PR-Package: emacs Reply-To: 62190@debbugs.gnu.org Date: Wed, 15 Mar 2023 17:54:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1678902842-18514-1" This is a multi-part message in MIME format... ------------=_1678902842-18514-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #62190: 30.0.50; analyze-text-conversion in Android which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 62190@debbugs.gnu.org. --=20 62190: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D62190 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1678902842-18514-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 62190-done) by debbugs.gnu.org; 15 Mar 2023 17:53:03 +0000 Received: from localhost ([127.0.0.1]:40524 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcVJ8-0004nQ-LA for submit@debbugs.gnu.org; Wed, 15 Mar 2023 13:53:03 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:25703) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcVJ5-0004mu-Sc for 62190-done@debbugs.gnu.org; Wed, 15 Mar 2023 13:53:00 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 132761000C4; Wed, 15 Mar 2023 13:52:54 -0400 (EDT) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 48A8F1000BD; Wed, 15 Mar 2023 13:52:52 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1678902772; bh=kU/uPd+I7d9hOVdfIipBqPnmlX6OQZKJpaR+gyrXRbI=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=L7b2Lt3tFae0kheResJwTCPe0nEMz61bhpjPMgasDWuvEFXLA2sez/6YPNJ2FVFNF r3A0qeVHAKRMYoVutMCx2S/DzVQINyiueZITyvFUTgKFe36EN3Run85ghHhjIAVg1H HK2GtnzzYi70OpsJ+8xPlCpJXIAHYM2pmcNtaIB4XK+eRdpWf5MBvOFWToYd3aUtMl wq0MlN8832AML80zVjXGkCOHJuDLeJMdPP3GpzIgVNO42fOmy6ZTLEx/YGklYjJh2P g+WoF9rSCZQrl1jM7QRbwnn/gUvp50XMVoBwhkCrWcIB/l7Wi2c3OTPE66TKINLXRM bTNBqcGQ3N0ww== Received: from lechazo (lechon.iro.umontreal.ca [132.204.27.242]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 3915D123209; Wed, 15 Mar 2023 13:52:52 -0400 (EDT) From: Stefan Monnier To: Po Lu Subject: Re: bug#62190: 30.0.50; analyze-text-conversion in Android In-Reply-To: <87a60e7sdn.fsf@yahoo.com> (Po Lu's message of "Wed, 15 Mar 2023 08:47:16 +0800") Message-ID: References: <87a60e7sdn.fsf@yahoo.com> Date: Wed, 15 Mar 2023 13:52:51 -0400 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.014 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62190-done Cc: 62190-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Stefan, this was already fixed on the feature/android months ago, by > disabling text conversion in the middle of `read-key-sequence'. Sorry, I didn't realize it was so old. > I suggest you use (more) up-to-date prebuilts at: > > https://sourceforge.net/projects/android-ports-for-gnu-emacs/upload/ Will take a look at it, thanks. >> Maybe `text-conversion` should not be generated when we're "in the >> middle" of `read-key-sequence`? Or maybe `text-conversion` should be >> turned into a sequence of "normal" events via `input-decode-map`? >> Or maybe more of the event processing should be done in ELisp and less >> in C (i.e. the raw events would be exposed to ELisp and they'd be >> processed a bit more like we do with our input-methods)? >> >> I'm not very knowledgeable about this topic (under Android I use my >> on-screen keyboards as if they were normal keyboards, very rarely even >> making use of the predictive features). > > Moving it to Lisp is unfortunately not possible, as Android input > methods require 150% obedience from Emacs that can only be accomplished > by hard wiring the logic in C. So maybe our best hope is to use `input-decode-map`? Some aspects might seem tricky (e.g. the fact that it could affect several buffers), but OTOH `input-decode-map` should simplify some of the code by removing the ad-hoc handling of electric-pair and auto-fill. Stefan ------------=_1678902842-18514-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 14 Mar 2023 17:29:56 +0000 Received: from localhost ([127.0.0.1]:38365 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pc8TD-0005lJ-HH for submit@debbugs.gnu.org; Tue, 14 Mar 2023 13:29:55 -0400 Received: from lists.gnu.org ([209.51.188.17]:41688) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pc8TA-0005l4-FQ for submit@debbugs.gnu.org; Tue, 14 Mar 2023 13:29:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pc8T9-0004mo-Tp for bug-gnu-emacs@gnu.org; Tue, 14 Mar 2023 13:29:52 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pc8T8-000109-CG for bug-gnu-emacs@gnu.org; Tue, 14 Mar 2023 13:29:51 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 289281000CA; Tue, 14 Mar 2023 13:29:46 -0400 (EDT) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 362531000BC; Tue, 14 Mar 2023 13:29:44 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1678814984; bh=az9k8bHWUnGSxDNdDF6NmahhGwe+LTVRGOoo01eH9m8=; h=From:To:Subject:Date:From; b=FiZX+T9AqafYsTwOkXH0H2gpYNIIhAG/DHecdFXF4BC6zLYgsNkvLPpFqyB2j8Xk3 2h5xqhAiYk9nzF+tmzMqWSYU5mIiK0iyTuJtKPn3ATffappH661lRDvsXKhNjpNpn3 74YqH93QxYnIInBLGXjzadksT7Uu9TUY0d9PzLPvjQDBE0DIiOu5dyeu18XtuxN0T+ voqrUCIXjCBdwbSubboV8HAO3shwKSGy4iL7JLeR+c0jJw3tL5Dsx7sYAhezcwEh+l E9BCq28iSq30t++0UwUWX4WLXtPok+KZJSNhimbGT6F4tIm+5NpRghOC6bA87gWdfp hKW9dnwInbh/A== Received: from pastel (unknown [216.154.34.24]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 1211312328D; Tue, 14 Mar 2023 13:29:44 -0400 (EDT) From: Stefan Monnier To: bug-gnu-emacs@gnu.org Subject: 30.0.50; analyze-text-conversion in Android Message-ID: X-Debbugs-Cc: Po Lu Date: Tue, 14 Mar 2023 13:29:43 -0400 MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.043 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain X-SPAM-LEVEL: Received-SPF: pass client-ip=132.204.25.50; envelope-from=monnier@iro.umontreal.ca; helo=mailscanner.iro.umontreal.ca X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Package: Emacs Version: 30.0.50 I tried out the Emacs distributed on F-Droid, which is apparently built from our feature/android work, and I bumped into `analyze-text-conversion`. Currently, this breaks things like `ESC x` (I don't have Meta/Alt on my keyboard) or `C-h l` because the second event I get is not a letter (like `x` or `l`) but the event `text-conversion`. I guess this may depend on the keyboard, admittedly. IIUC this is tied to the feature whereby you can "build" a word from the keyboard before sending it "for real" to Emacs, but you get to see this word in your buffer before it's "committed"? Maybe `text-conversion` should not be generated when we're "in the middle" of `read-key-sequence`? Or maybe `text-conversion` should be turned into a sequence of "normal" events via `input-decode-map`? Or maybe more of the event processing should be done in ELisp and less in C (i.e. the raw events would be exposed to ELisp and they'd be processed a bit more like we do with our input-methods)? I'm not very knowledgeable about this topic (under Android I use my on-screen keyboards as if they were normal keyboards, very rarely even making use of the predictive features). Stefan ------------=_1678902842-18514-1-- From unknown Tue Jun 17 22:21:58 2025 X-Loop: help-debbugs@gnu.org Subject: bug#62190: 30.0.50; analyze-text-conversion in Android Resent-From: Po Lu Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 16 Mar 2023 00:39:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62190 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: 62190-done@debbugs.gnu.org Received: via spool by 62190-done@debbugs.gnu.org id=D62190.167892713429512 (code D ref 62190); Thu, 16 Mar 2023 00:39:01 +0000 Received: (at 62190-done) by debbugs.gnu.org; 16 Mar 2023 00:38:54 +0000 Received: from localhost ([127.0.0.1]:40796 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcbdt-0007fu-Nh for submit@debbugs.gnu.org; Wed, 15 Mar 2023 20:38:54 -0400 Received: from sonic313-9.consmr.mail.ne1.yahoo.com ([66.163.185.32]:45145) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcbds-0007fg-3M for 62190-done@debbugs.gnu.org; Wed, 15 Mar 2023 20:38:52 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1678927126; bh=ZTj+n8QEeV3Ae5O5cVR+hlnXBDyXrkZWHYtGnAH7e5w=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=JrkD9qVMDOz2JFHOYl0aTnFNc7JUvDgiIE+CCDqnOR2b5NPbbxD8YfsJRyXBhchl21XRprtvDY9Nb9wZODwgUpjbqzisnt9q51Crhr4WmK1Qzpmm8vcegx3K2ndlMnUA24Et0d6455XqNT24zyBos9pdPFTNcoORmBBsR3cgrsU6vEPr42fVnCJuvpfoufoVy7feLsVBbdiOSsqUuGigJ2azYXcZoPxauMwDbZIUOsZbA3Q6hj1uX9BCNlozHTVgtICQb5pfaIomloR2PdOiXYUds6XPwBYindMmrWql8KA9Vb68oB4UArduOTCAqwNjsksMoqEFoyEfk0wi0DNbvw== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1678927126; bh=tfMlhI6ZBS6iOr3f7hHlKv5U7mk/4O2aPlhJ7CH0tVo=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=bfnL4KxMYuSndBUOMU6wdYpUmMNmBTmmJfSJCOxh2Vc9bjvPPFEbGjuaN7eaw+HXKZX6xZAIldFb4oOcfSGG8E7gMlDgmCwGYikHeoro3qXzRYvjhv0T9eVuSDcfZvNXallrdo4IqlqosbAGBTRmGJJcy++t3lCrDIFdXRcwGHin86PfwE+fL71K1xsBTTEqxvKWHaySYGjFDJnwQIK+yOYG+dyoC87wDekZxthndfwLt40UTL0kNSNnNuQyhMeOCkvJvU5d4wmrL5f6MuFfXSfIs/eZsVECOXyNm2Jr9Z+FWxAg2FZK85iCR0XLt7H3uwsHca2Zz6SeXCktPhWXFg== X-YMail-OSG: 3D9v5NIVM1kSAw_jDE1DNA1GP4ubdHkcRx_WWuc_RFko5RaJsDlyBbUcKHo5zwn coJ60CF2HGr.yojSSsDJlhUHfK7yQyzXzVDX77QxIdba8UKPSlElfjUAKN_NSLjn.LZDJMOLMGWG PZgbEoswtD5_8uUcoJBFPQMUF0Kq4p0aBTKqw8YWDPqxwx8gWGjWFJApQSqHPVf.AJhP539ev5b9 kaUuHNVdVO0dhRPDPEsV2xe49c_ZEoTugBSxG1zx0zklTNlM5hfUUd74L5lB3j7jZK45gDoTb3aL d1M.yu4mnx7llNj3lTamE_d7nha2kH7EBl6jaSeiOCC2lw6pR2R9k3APrjhOCPvS77MuASofgwAi qWiHoVj3c7DVxLLa2liZjLJdfoOWx_YRmH9kZuRjbTzEL9Jd0SLGwW_zliG3XLKVHIhSoC46fvtt SAebaNuj4oVFakM9U8L_o7rpD2zSTQPoKTZD5HYpLp1p4yE1sT6_xwKC18yXjcxh2N_4ADpYByNQ S6U9wj2oO1Swda1_p23pa0RaHvGM9ddQq0kF81Wt8HMetHfQCR4EfrDBoS8vTJO_bUle4oxM0uZ_ os2QcZCBEa5oN2dMPVWKC1TdID0XzMDvBCFCqfDs6DOm1Gr3BuaM5m8Yt2oE.LJhsuUS9m2MnJe6 1eMjOt5HNgBqf.L9X2As02DNYG57nTbsT3YUDE7jE8Jq5cctnyhJ4R3RpdemcLiLjoRTz3MmJAKa rEK0Ef7EGUYD65M845fkqpn.yRhd98TDidu19SEOkj4pbpBiYQvnjiIohGBBlk74U2JnZbfYfSuJ jlV1NHemUSc57IdaAo_Sb_rVNOaQO4yZJ7mkhNlJwo0i3frT6SJOFmDqewYNsnApJduDaB.81qGC TKK.uA3tCmfgt8edqZwDPyJeMEBqQLUk7WqySHMKW_nzR7m8T6OvT_Sfin9zPAxbwMfeSpqQrtsi iDFO.xJOknrHC7X5smx_vzTaHhmHfXxMO8G_P1R0vovoqRFEDefiAbG0pfc5EC_RgxKTOVHkVqPs TJZj_EwaeCnE1I2WrXnD9hemHpqbceGK4QWUNMBwDu0sIZl6.4lUyl53_0aZyB_YKBsSEkFgBAL_ 6Bu9EUqJ7qSRPe2.xHLY5YePGIRZBbcGspAW8SYiv3_.AbWKPS74Pe2qj15qH8xNRTeJPTvs0RKI Q2AheSrDb6VUJwvR4RJAdGGSTZp8bJFySBRPdaKV7fX8FaF.JLVd8G7gMMk3J9_s3JBQhjRToDoh eB7Nh4VuVetx6zz5vgr70kKsGsADNVhhnNaQlJxjbr7dhhqVYEkxAW1RKNhHcbyHowtsaqBnNVf2 QqlSHK8P94.pX8u9Ebs2QiG4STCdKg7aUSA3Jw_h15E7tEWrAa0m0JN4s1YynEtQ8jtSiZQgsaAw tNyIxkZtJruQyCdKcCgQeuY4090McLLP2gQH.LJ7SUTlJM6G74V_FDIGRsMFOGfAbaDQPqLe0Kq2 K_gISP3X86V7W8ZSoktEDaK7YgyOR6FjMO3Ebye2Vdg3XLiAXEXw_aIgu6Ifv7azsh5REO.vqbmf uVDhj.NtVP5ZyqmxXY5o0KqM3RCk.NWPHy_NfjCRYGk17PeH2kepWwHglzgBATfCcsXoGwDrvSkZ ecJBDVHmyqRbXTw2AEjFEH4ZuY_eN40idlP4pPo_LFds50O3UpgJZ61T2HP.iVZTj44r4Pj7QQMX h0RtUKF4QkLLrhy5IgI_iRpt7LMwZ0jVUAdbrzN5dWwKy1HLRhop5JET1oV32hzLYQt_11r5SBeV rwu2ih8X5CLsqdHLceMOmWi.g99mZMfQvBBxT2PXeonA3RihR.eKay1_duou4wVu7UsH508ljUOn shhhL9ODT5CdHv0PAo1hXOEB0JSKyhmKgwWrUJzbAoijQ0YRQ7.H.cB1QN6jaZuQaRkKWLVAI08L 1Sb8kmNBM2ylqJNqG585pcyZdLv4rjyJ5ZmybBz.JAy6A.UKOX7U4py3ePemXdLv6f13TRo6Sx.w qXOOx1I1sgXJ2XKDiovlhjWanzRumzWgTNAKD5sZyr7MneFa7ypOve7JSabpW3Rotfm7CirtzglQ Cy3YjCkHOIDW8MJgXSRRjRwkKayjDb0eZSKr4ZyGxXOjZ8ORkNVum_Gbi19ikrVAc3BNhGbnEJBZ ssfgRI7E.mYHeo0e6_yNAFjLGW49_zv2esq2ZQxCcMwFvXWNxvD4bngb5uaJj0lxJoG3YyN3zdt6 epJvQuC2zjDwpaYvSiqxcvgwNCfEThs7rBg.ie.Hr3tznr9idFHkCt0M8k1h3ZAmcGoRicck- X-Sonic-MF: X-Sonic-ID: 7b59f67c-abf6-43b5-9f81-b7bb0b5a7183 Received: from sonic.gate.mail.ne1.yahoo.com by sonic313.consmr.mail.ne1.yahoo.com with HTTP; Thu, 16 Mar 2023 00:38:46 +0000 Received: by hermes--production-sg3-67c57bccff-9pwhc (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 6687048afd1519a517039b102582cd57; Thu, 16 Mar 2023 00:38:43 +0000 (UTC) From: Po Lu In-Reply-To: (Stefan Monnier's message of "Wed, 15 Mar 2023 13:52:51 -0400") References: <87a60e7sdn.fsf@yahoo.com> Date: Thu, 16 Mar 2023 08:38:38 +0800 Message-ID: <871qlp5y41.fsf@yahoo.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Mailer: WebService/1.1.21311 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 1850 X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Stefan Monnier writes: >> Stefan, this was already fixed on the feature/android months ago, by >> disabling text conversion in the middle of `read-key-sequence'. > > Sorry, I didn't realize it was so old. > >> I suggest you use (more) up-to-date prebuilts at: >> >> https://sourceforge.net/projects/android-ports-for-gnu-emacs/upload/ > > Will take a look at it, thanks. > >>> Maybe `text-conversion` should not be generated when we're "in the >>> middle" of `read-key-sequence`? Or maybe `text-conversion` should be >>> turned into a sequence of "normal" events via `input-decode-map`? >>> Or maybe more of the event processing should be done in ELisp and less >>> in C (i.e. the raw events would be exposed to ELisp and they'd be >>> processed a bit more like we do with our input-methods)? >>> >>> I'm not very knowledgeable about this topic (under Android I use my >>> on-screen keyboards as if they were normal keyboards, very rarely even >>> making use of the predictive features). >> >> Moving it to Lisp is unfortunately not possible, as Android input >> methods require 150% obedience from Emacs that can only be accomplished >> by hard wiring the logic in C. > > So maybe our best hope is to use `input-decode-map`? > > Some aspects might seem tricky (e.g. the fact that it could affect > several buffers), but OTOH `input-decode-map` should simplify some of > the code by removing the ad-hoc handling of electric-pair and auto-fill. Unfortunately not, because the effect of an input method edit is already performed prior to a `text-conversion' event being sent. The edit may also have been made to multiple frames, simultaneously. I suggest looking at the code in textconv.c, the functions which are decorated with `JNIEXPORT' in androidterm.c, and java/org/gnu/emacs/EmacsInputConnection.java. Thanks.