Received: (at 70968) by debbugs.gnu.org; 22 Oct 2024 00:11:32 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Oct 21 20:11:32 2024 Received: from localhost ([127.0.0.1]:53967 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1t32Um-0006f9-Co for submit <at> debbugs.gnu.org; Mon, 21 Oct 2024 20:11:32 -0400 Received: from flow-a2-smtp.messagingengine.com ([103.168.172.137]:53713) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <dmitry@HIDDEN>) id 1t32Ui-0006er-KW for 70968 <at> debbugs.gnu.org; Mon, 21 Oct 2024 20:11:30 -0400 Received: from phl-compute-12.internal (phl-compute-12.phl.internal [10.202.2.52]) by mailflow.phl.internal (Postfix) with ESMTP id E38DC2009E4; Mon, 21 Oct 2024 20:10:55 -0400 (EDT) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-12.internal (MEProxy); Mon, 21 Oct 2024 20:10:55 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm1; t=1729555855; x=1729563055; bh=ixlHnayHEh MGKHYlaBqTbg/TrFEJfV2sVNp1OdxhuVk=; b=ROnOkxhskH9Rpu7skix0aHspH3 Oh0bkDQI/Uj2gAVRNF42PJExME3Tfphc9g7eYOPRyswXZOChb0C8WWfmkd1Duh1z kWeDdQuZT8OJj9lDlYjoTWlFG0So6Y9r88eGGr6b2HasabXJeceenFLX863o7DWb 2IkhiY+e5GSx7jHSF4mu+Ln9WCc9b3kkilrB3xhRhzJp2nc0XBAfBnL6+ppDR3FV FZK1GUi65JL9RmQem8wdRQ7+MSj9MMoVdz5NziQKurWe7ZRHEFbJqWLZRVSkh2ig LEcUdM4BGkb/dh/Wh2G9kMMYJxpbzKMoeW04SeDILANnx7eXsDShCSDx+LCw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= i07de48aa.fm3; t=1729555855; x=1729563055; bh=ixlHnayHEhMGKHYlaB qTbg/TrFEJfV2sVNp1OdxhuVk=; b=ifJYXAL3faRCLXtG9tOUI8rEd93U2MUegz fXIHhz53SXnnzb//VV7fIs8o+6suLhuuaqElyFKL6KknLNX1Szsr2v4U2hOg1JUs DYNrvMa3ViPv9xWKVls8LU0NwlkA4D9X8fMJtQYYB+n1CGyuKLjABoo/6GqlYgfq rN+qBwTOAkdZcwgNoeJV9z2g4/ThoXkSPAuAUowqNhzQTSiGW+JNVgsDVZ7TZStN Ctr+V/BTw2luXbrY/5bUHZBC+zW+0bryDEu7kDho8PspCEUxyOIQRQwrMohW3S22 qxaEKdn26jXUx1Ip5/+TO/YpfTnbQQ8kTvI/L2vZKkRsnFZBSonQ== X-ME-Sender: <xms:j-0WZy1VBAph-o0kf4OEAF8OmmDGgnBBJKSAlP3FXlzk0RN9qJyQSA> <xme:j-0WZ1HO0PtJ-OWP2fpULPxBhQhLv81GwY1HSuZ9C9ewJnVRXwejD0-gB4dGqyouq 6R0YB3lxWtFG1UqHsQ> X-ME-Received: <xmr:j-0WZ672UDkr9l6L_OgBZbWfXJc-WvPxtSd64ChlZKhynvYaT3twT4HhC1Y7od_Y0N0> X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrvdeiuddgtdduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh htshculddquddttddmnecujfgurheptgfkffggfgfuhffvvehfjgesmhdtreertddvjeen ucfhrhhomhepffhmihhtrhihucfiuhhtohhvuceoughmihhtrhihsehguhhtohhvrdguvg hvqeenucggtffrrghtthgvrhhnpedtvdeugedvteelvdegvefguedtgfethefggeffkedt keegveeifeeiudejueffffenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmh grihhlfhhrohhmpegumhhithhrhiesghhuthhovhdruggvvhdpnhgspghrtghpthhtohep hedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepshgsrghughhhsehjrghnvghsth hrvggvthdrtghomhdprhgtphhtthhopegvlhhiiiesghhnuhdrohhrghdprhgtphhtthho peejtdelieekseguvggssghughhsrdhgnhhurdhorhhgpdhrtghpthhtohepmhhonhhnih gvrhesihhrohdruhhmohhnthhrvggrlhdrtggrpdhrtghpthhtohepjhhurhhisehlihhn khhovhdrnhgvth X-ME-Proxy: <xmx:j-0WZz3IZLZncp3RqI9LJubTL7ZNcMICHq-nHuWHJLXpyvAdwuqcGQ> <xmx:j-0WZ1HUT-_10XGbRPJwV1MPtet7CFrAXnWwacb4wuGSLrXB35YWUQ> <xmx:j-0WZ8_IUBe1C8PtWISFSJm6WDobx31djyGAOXHUqxanC6UnnsWkVA> <xmx:j-0WZ6kLQZVSWJtwXTt8j-0eNp4LZ_qHmLaMS83XbKomciDYcPQM-g> <xmx:j-0WZ6S6qCkbr83kMaOsLegEvJJoumLB9HbAMcFOjGgqhyx0370YdwwB> Feedback-ID: i07de48aa:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 21 Oct 2024 20:10:52 -0400 (EDT) Content-Type: multipart/mixed; boundary="------------AWHvUf0xxflWYq0C4pX0qMKG" Message-ID: <1446df3a-8670-4ae5-83ad-b4421e647ef3@HIDDEN> Date: Tue, 22 Oct 2024 01:10:49 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#70968: 29.2.50; choose-completion on an emacs22-style completion deletes text after point From: Dmitry Gutov <dmitry@HIDDEN> To: Spencer Baugh <sbaugh@HIDDEN>, Eli Zaretskii <eliz@HIDDEN> References: <ierzfsqu8hh.fsf@HIDDEN> <86bk56jhsp.fsf@HIDDEN> <377f815c-52d2-4770-ae85-55e096e104b0@HIDDEN> <8634qhipgj.fsf@HIDDEN> <7e05fd14-3499-4811-b4bc-b53186b15408@HIDDEN> <86ed5vzzru.fsf@HIDDEN> <jwvjzfmcsfv.fsf-monnier+emacs@HIDDEN> <ierjzfjphzm.fsf@HIDDEN> <86o74qh9wv.fsf@HIDDEN> <ierr09jgyr1.fsf@HIDDEN> <8479c25d-b4ae-4e89-9880-0857a996936a@HIDDEN> Content-Language: en-US In-Reply-To: <8479c25d-b4ae-4e89-9880-0857a996936a@HIDDEN> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 70968 Cc: 70968 <at> debbugs.gnu.org, monnier@HIDDEN, juri@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) This is a multi-part message in MIME format. --------------AWHvUf0xxflWYq0C4pX0qMKG Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 24/09/2024 03:03, Dmitry Gutov wrote: > > The attached patch does not make a distinction for file name completion > - it just covers the core problem - but I think any UI could use the > addition and likewise lookup the 'file' category, and print the "hidden" > suffix in the Completions, and decide to drop the suffix in your first > scenario (file name completion with exit imminent). Here's a halfway PoC of the UI printing the suffix based on the metadata property with emacs22 (without special behavior for files yet, but it should be straightforward to add the same set of conditions - the category, completion boundaries, etc). --------------AWHvUf0xxflWYq0C4pX0qMKG Content-Type: text/x-patch; charset=UTF-8; name="completion--emacs22-adjust-metadata-with-shadow-suffix.diff" Content-Disposition: attachment; filename*0="completion--emacs22-adjust-metadata-with-shadow-suffix.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpc3AvbWluaWJ1ZmZlci5lbCBiL2xpc3AvbWluaWJ1ZmZlci5lbApp bmRleCA4MDRhZmU5Y2I0My4uNTk1ZmRjZDIyODggMTAwNjQ0Ci0tLSBhL2xpc3AvbWluaWJ1 ZmZlci5lbAorKysgYi9saXNwL21pbmlidWZmZXIuZWwKQEAgLTI1NjgsNiArMjU2OCwxMCBA QCBjb21wbGV0aW9ucy0tYWZ0ZXItY2hhbmdlCiAgICAgICAod2l0aC1zZWxlY3RlZC13aW5k b3cgd2luZG93CiAgICAgICAgIChjb21wbGV0aW9ucy0tZGVzZWxlY3QpKSkpKQogCisoZGVm ZmFjZSBjb21wbGV0aW9ucy1pZ25vcmVkCisgICcoKHQgKDppbmhlcml0IHNoYWRvdykpKQor ICAiRmFjZSBmb3IgdGV4dCB3aGljaCB3YXMgaWdub3JlZCBieSB0aGUgY29tcGxldGlvbiBz dHlsZS4iKQorCiAoZGVmdW4gbWluaWJ1ZmZlci1jb21wbGV0aW9uLWhlbHAgKCZvcHRpb25h bCBzdGFydCBlbmQpCiAgICJEaXNwbGF5IGEgbGlzdCBvZiBwb3NzaWJsZSBjb21wbGV0aW9u cyBvZiB0aGUgY3VycmVudCBtaW5pYnVmZmVyIGNvbnRlbnRzLiIKICAgKGludGVyYWN0aXZl KQpAQCAtMjYxMyw3ICsyNjE3LDYgQEAgbWluaWJ1ZmZlci1jb21wbGV0aW9uLWhlbHAKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChidWZmZXItc3Vi c3RyaW5nIChwb2ludCkgZW5kKSkpKQogICAgICAgICAgICAgICAgIChwb2ludCkpKQogICAg ICAgICAgICAgIChmaWVsZC1jaGFyIChhbmQgKDwgZmllbGQtZW5kIGVuZCkgKGNoYXItYWZ0 ZXIgZmllbGQtZW5kKSkpCi0gICAgICAgICAgICAgKGJhc2UtcG9zaXRpb24gKGxpc3QgKCsg c3RhcnQgYmFzZS1zaXplKSBmaWVsZC1lbmQpKQogICAgICAgICAgICAgIChhbGwtbWQgKGNv bXBsZXRpb24tLW1ldGFkYXRhIChidWZmZXItc3Vic3RyaW5nLW5vLXByb3BlcnRpZXMKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQgKHBvaW50 KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlLXNp emUgbWQKQEAgLTI2MjMsNiArMjYyNiwxMyBAQCBtaW5pYnVmZmVyLWNvbXBsZXRpb24taGVs cAogICAgICAgICAgICAgIChhZmYtZnVuIChjb21wbGV0aW9uLW1ldGFkYXRhLWdldCBhbGwt bWQgJ2FmZml4YXRpb24tZnVuY3Rpb24pKQogICAgICAgICAgICAgIChzb3J0LWZ1biAoY29t cGxldGlvbi1tZXRhZGF0YS1nZXQgYWxsLW1kICdkaXNwbGF5LXNvcnQtZnVuY3Rpb24pKQog ICAgICAgICAgICAgIChncm91cC1mdW4gKGNvbXBsZXRpb24tbWV0YWRhdGEtZ2V0IGFsbC1t ZCAnZ3JvdXAtZnVuY3Rpb24pKQorICAgICAgICAgICAgIChpZ25vcmUtYWZ0ZXItcG9pbnQg KGNvbXBsZXRpb24tbWV0YWRhdGEtZ2V0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYWxsLW1kICdjb21wbGV0aW9uLWlnbm9yZS1hZnRlci1wb2ludCkpCisgICAgICAg ICAgICAgKGJhc2UtcG9zaXRpb24gKGxpc3QgKCsgc3RhcnQgYmFzZS1zaXplKQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZiBpZ25vcmUtYWZ0ZXItcG9pbnQKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBvaW50KQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQtZW5kKSkpCisgICAgICAgICAgICAg KGlnbm9yZS1zdWZmaXggKGNvbXBsZXRpb24tbWV0YWRhdGEtZ2V0IGFsbC1tZCAnY29tcGxl dGlvbi1pZ25vcmUtYWZ0ZXItcG9pbnQpKQogICAgICAgICAgICAgIChtYWluYnVmIChjdXJy ZW50LWJ1ZmZlcikpCiAgICAgICAgICAgICAgOzsgSWYgdGhlICpDb21wbGV0aW9ucyogYnVm ZmVyIGlzIHNob3duIGluIGEgbmV3CiAgICAgICAgICAgICAgOzsgd2luZG93LCBtYXJrIGl0 IGFzIHNvZnRseS1kZWRpY2F0ZWQsIHNvIGJ1cnktYnVmZmVyIGluCkBAIC0yNjY4LDYgKzI2 NzgsMTQgQEAgbWluaWJ1ZmZlci1jb21wbGV0aW9uLWhlbHAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdoaXN0b3JpY2FsIChtaW5pYnVmZmVyLXNv cnQtYnktaGlzdG9yeSBjb21wbGV0aW9ucykpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChfIChmdW5jYWxsIGNvbXBsZXRpb25zLXNvcnQgY29tcGxl dGlvbnMpKSkpKQogCisgICAgICAgICAgICAgICAgICAgICAgKHdoZW4gaWdub3JlLXN1ZmZp eAorICAgICAgICAgICAgICAgICAgICAgICAgKGxldCAoKGhpZGRlbi1zdWZmaXggKHByb3Bl cnRpemUgKGJ1ZmZlci1zdWJzdHJpbmcgKHBvaW50KSBlbmQpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmFjZQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Nv bXBsZXRpb25zLWlnbm9yZWQpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKHNldHEg Y29tcGxldGlvbnMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1hcGNhciAo bGFtYmRhIChzKSAoY29uY2F0IHMgaGlkZGVuLXN1ZmZpeCkpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29tcGxldGlvbnMpKSkpCisKICAgICAgICAgICAg ICAgICAgICAgICA7OyBBZnRlciBzb3J0aW5nLCBncm91cCB0aGUgY2FuZGlkYXRlcyB1c2lu ZyB0aGUKICAgICAgICAgICAgICAgICAgICAgICA7OyBgZ3JvdXAtZnVuY3Rpb24nLgogICAg ICAgICAgICAgICAgICAgICAgICh3aGVuIGdyb3VwLWZ1bgpAQCAtMzc3OCw2ICszNzk2LDEz IEBAIGNvbXBsZXRpb24tZW1hY3MyMi1hbGwtY29tcGxldGlvbnMKICAgICAgcG9pbnQKICAg ICAgKGNhciAoY29tcGxldGlvbi1ib3VuZGFyaWVzIGJlZm9yZXBvaW50IHRhYmxlIHByZWQg IiIpKSkpKQogCisocHV0ICdlbWFjczIyICdjb21wbGV0aW9uLS1hZGp1c3QtbWV0YWRhdGEg J2NvbXBsZXRpb24tLWVtYWNzMjItYWRqdXN0LW1ldGFkYXRhKQorCisoZGVmdW4gY29tcGxl dGlvbi0tZW1hY3MyMi1hZGp1c3QtbWV0YWRhdGEgKG1ldGFkYXRhKQorICBgKG1ldGFkYXRh CisgICAgKGNvbXBsZXRpb24taWdub3JlLWFmdGVyLXBvaW50IC4gdCkKKyAgICAsQChjZHIg bWV0YWRhdGEpKSkKKwogOzs7IEJhc2ljIGNvbXBsZXRpb24uCiAKIChkZWZ1biBjb21wbGV0 aW9uLS1tZXJnZS1zdWZmaXggKGNvbXBsZXRpb24gcG9pbnQgc3VmZml4KQpkaWZmIC0tZ2l0 IGEvbGlzcC9zaW1wbGUuZWwgYi9saXNwL3NpbXBsZS5lbAppbmRleCBlMzVjZmUwNDc5Yi4u YTQ5NTIzMWMyMTEgMTAwNjQ0Ci0tLSBhL2xpc3Avc2ltcGxlLmVsCisrKyBiL2xpc3Avc2lt cGxlLmVsCkBAIC0xMDI2NCw2ICsxMDI2NCw3IEBAIGNob29zZS1jb21wbGV0aW9uCiAgICAg ICAgICAgKGJhc2UtcG9zaXRpb24gY29tcGxldGlvbi1iYXNlLXBvc2l0aW9uKQogICAgICAg ICAgIChpbnNlcnQtZnVuY3Rpb24gY29tcGxldGlvbi1saXN0LWluc2VydC1jaG9pY2UtZnVu Y3Rpb24pCiAgICAgICAgICAgKGNvbXBsZXRpb24tbm8tYXV0by1leGl0IChpZiBuby1leGl0 IHQgY29tcGxldGlvbi1uby1hdXRvLWV4aXQpKQorICAgICAgICAgIChpZ25vcmUtZmFjZSBu aWwpCiAgICAgICAgICAgKGNob2ljZQogICAgICAgICAgICAoaWYgY2hvb3NlLWNvbXBsZXRp b24tZGVzZWxlY3QtaWYtYWZ0ZXIKICAgICAgICAgICAgICAgIChvciAoZ2V0LXRleHQtcHJv cGVydHkgKHBvc24tcG9pbnQgKGV2ZW50LXN0YXJ0IGV2ZW50KSkKQEAgLTEwMjg1LDYgKzEw Mjg2LDEwIEBAIGNob29zZS1jb21wbGV0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGJlZykpCiAgICAgICAgICAgICAgICAoZ2V0LXRleHQtcHJvcGVydHkgYmVnICdjb21w bGV0aW9uLS1zdHJpbmcpKSkpKSkKIAorICAgICAgKHdoZW4gKGdldC10ZXh0LXByb3BlcnR5 ICgxLSAobGVuZ3RoIGNob2ljZSkpICdmYWNlIGNob2ljZSkKKyAgICAgICAgKHNldHEgaWdu b3JlLWZhY2UgKHByZXZpb3VzLXNpbmdsZS1wcm9wZXJ0eS1jaGFuZ2UgKDEtIChsZW5ndGgg Y2hvaWNlKSkgJ2ZhY2UgY2hvaWNlKSkKKyAgICAgICAgKHNldHEgY2hvaWNlIChzdWJzdHJp bmcgY2hvaWNlIDAgaWdub3JlLWZhY2UpKSkKKwogICAgICAgKHVubGVzcyAoYnVmZmVyLWxp dmUtcCBidWZmZXIpCiAgICAgICAgIChlcnJvciAiRGVzdGluYXRpb24gYnVmZmVyIGlzIGRl YWQiKSkKICAgICAgICh1bmxlc3Mgbm8tcXVpdAo= --------------AWHvUf0xxflWYq0C4pX0qMKG--
bug-gnu-emacs@HIDDEN
:bug#70968
; Package emacs
.
Full text available.Received: (at 70968) by debbugs.gnu.org; 17 Oct 2024 00:20:20 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Oct 16 20:20:20 2024 Received: from localhost ([127.0.0.1]:60927 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1t1EFX-0005mN-TH for submit <at> debbugs.gnu.org; Wed, 16 Oct 2024 20:20:20 -0400 Received: from fhigh-a5-smtp.messagingengine.com ([103.168.172.156]:50593) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <dmitry@HIDDEN>) id 1t1EFV-0005m8-UZ for 70968 <at> debbugs.gnu.org; Wed, 16 Oct 2024 20:20:18 -0400 Received: from phl-compute-04.internal (phl-compute-04.phl.internal [10.202.2.44]) by mailfhigh.phl.internal (Postfix) with ESMTP id 8CBCB1140127; Wed, 16 Oct 2024 20:19:52 -0400 (EDT) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-04.internal (MEProxy); Wed, 16 Oct 2024 20:19:52 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm1; t=1729124392; x=1729210792; bh=M5SJgfbwGG sovjboLqk6uax/KJ7yaeaqsMHqXAjhdoA=; b=ZSgPoQMcMIQ5XEjiszhpzeHlnl wIHfbZsgySvTDXFVnL5jD+rtNDDHcfcrchHIRncHsH3jqUeBuMMdCwdOuLqXTezr zAYCUKxgTmWarbL5TtNrSkdGRcKEQg/q+AsvmO0lKXgzDCm5yTGJr7B70dL8Y9SD YfEmamnKinTDAHXcWOMmNsY5FwI60rbRpyruoIbeSNZsDKhgEiMxChFAR3RHVNe0 MrrnMmY7/3kUPy3uf+4b328wd+SVa4s0dKlncsACRG1FNP32jHzOi+RC18mpBPNL SI7T8vgCpY13zLWN4/NZVZskPEjeCphe0hmv2+NbHO4E2rm5bNDAyUI/fdQg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; t=1729124392; x=1729210792; bh=M5SJgfbwGGsovjboLqk6uax/KJ7y aeaqsMHqXAjhdoA=; b=f/ppGFdzBajma8yIGhlGA1Tn6ITmOxaHmLgzJkuTXm4Q aU7zvoHdWvqU+PNizTX7T9vhbt9QiOByfvekCCrqBO1hOEwfpJF9nkJ0ghc1tai9 kppCNggR4cXrgYp9xNvpXI+xmW+7UC+iN6sgBVQIsPzqHjkF4+Eb4J/00WJfy4Wg ZTyISO9fue0vQyJKif/wSXKAiDwjS3vlpen4L4ornKoq3kcae8ZLFTTI/dTei7XF FGqVJph7NesqKVrzgw0tkYyObz7b7beJuUoMWnxj5k8oqF4BdEFEQkAPQcPc5dpl 45auXSQ1Qknouh3guPb2XeJaOsx7lXziBFiqToED/w== X-ME-Sender: <xms:J1gQZ9qFTv2euALPr4qwHjAn7zl4CczqYQ8MrL7R18gBe_NB1zgFnw> <xme:J1gQZ_r1nh8m1HkBMO2p4fGFhE29LL2fbwBdENkD1AdinNTTozLH7fgq6SJK8nEL7 _ypkN5PLNPLWEOf-dA> X-ME-Received: <xmr:J1gQZ6Ovhc3APh4rbw-_SXxB7PS08Z_FKekaSTNUoHMQ3Yj76S7IP6VcHRwQZ1Ygv0Q> X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrvdehtddgfeefucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh htshculddquddttddmnecujfgurheptgfkffggfgfuvfevfhfhjgesmhdtreertddvjeen ucfhrhhomhepffhmihhtrhihucfiuhhtohhvuceoughmihhtrhihsehguhhtohhvrdguvg hvqeenucggtffrrghtthgvrhhnpeehleefudekudduveekieelgfeiffdvkefhkeeljeeu jeegueekveffkeejjeevheenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmh grihhlfhhrohhmpegumhhithhrhiesghhuthhovhdruggvvhdpnhgspghrtghpthhtohep hedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepshgsrghughhhsehjrghnvghsth hrvggvthdrtghomhdprhgtphhtthhopegvlhhiiiesghhnuhdrohhrghdprhgtphhtthho peejtdelieekseguvggssghughhsrdhgnhhurdhorhhgpdhrtghpthhtohepmhhonhhnih gvrhesihhrohdruhhmohhnthhrvggrlhdrtggrpdhrtghpthhtohepjhhurhhisehlihhn khhovhdrnhgvth X-ME-Proxy: <xmx:J1gQZ46m3ya6DKEWl5WtjoU9T7Hx-M0e1RttkphNBmOupkXzxahJnQ> <xmx:KFgQZ85CCWgf8L8lDnFGA_PIn1vlCnYfnBHF9BJluBiLXEfDB5UePQ> <xmx:KFgQZwgixVjpYRfIO0diUoRcCtKc8o8HpRbY82cXIw-DOsS4jJ2WCA> <xmx:KFgQZ-4-gKpafV5lhYtMmnIF7ZP3pOHv_E4w57WljozanaMefksECw> <xmx:KFgQZ2SyyaDiglOPY5AanJeRKguO5c8mdGmeYCrRZXfEZKjJsZ6qzOWg> Feedback-ID: i07de48aa:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 16 Oct 2024 20:19:50 -0400 (EDT) Content-Type: multipart/mixed; boundary="------------IEDALas1eiIuOhY095S7zqDl" Message-ID: <210a835e-17be-4b04-a172-966ccdd58b70@HIDDEN> Date: Thu, 17 Oct 2024 03:19:48 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#70968: 29.2.50; choose-completion on an emacs22-style completion deletes text after point To: Spencer Baugh <sbaugh@HIDDEN> References: <ierzfsqu8hh.fsf@HIDDEN> <86bk56jhsp.fsf@HIDDEN> <377f815c-52d2-4770-ae85-55e096e104b0@HIDDEN> <8634qhipgj.fsf@HIDDEN> <7e05fd14-3499-4811-b4bc-b53186b15408@HIDDEN> <86ed5vzzru.fsf@HIDDEN> <jwvjzfmcsfv.fsf-monnier+emacs@HIDDEN> <ierjzfjphzm.fsf@HIDDEN> <86o74qh9wv.fsf@HIDDEN> <ierr09jgyr1.fsf@HIDDEN> <8479c25d-b4ae-4e89-9880-0857a996936a@HIDDEN> <iera5f5kxje.fsf@HIDDEN> Content-Language: en-US From: Dmitry Gutov <dmitry@HIDDEN> In-Reply-To: <iera5f5kxje.fsf@HIDDEN> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 70968 Cc: Eli Zaretskii <eliz@HIDDEN>, 70968 <at> debbugs.gnu.org, monnier@HIDDEN, juri@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) This is a multi-part message in MIME format. --------------IEDALas1eiIuOhY095S7zqDl Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 15/10/2024 21:53, Spencer Baugh wrote: > I think this is preferable, though, and even if it isn't, it should > still be supported. > > This keeps it explicit to the user exactly what text will be inserted > into the buffer upon accepting a completion. > > Consider these two cases of completion (| representing point): > > A. switch-to-|asdf > > B. switch-to-|buffer > > In both cases, switch-to-next-buffer is a potential completion, provided > by "emacs22" in the case A and "basic" in case B. > > But in case A, if switch-to-next-buffer is chosen, the "asdf" should be > preserved, and in case B, if switch-to-next-buffer, the "buffer" should > be deleted. > > Because they have different behavior, they should appear differently to > the user. That's why I think case A should show > "switch-to-next-bufferasdf" in the *Completions* buffer, with "asdf" > grayed out via a "completions-ignored" face. > > If a user decides they don't want "asdf" text to be shown in case A, > then they can customize that. If a frontend decides it doesn't want to > show that text, it can omit the text. > > But it should at least be *possible* for the text to be shown. > Otherwise there's no way to distinguish the two cases. I suppose we should ask what makes sense as the default behavior, and if it's going to be different between frontends, how difficult is the "other" approach would be to support. Since company-mode supports the "proper" behavior for emacs22, I've had some time to get used to it and see if anything looks off. And IME the current indicators seem enough. For Elisp anyway, we a) have the completions themselves, b) the highlighting inside the completions for the characters matching the input. When the style matches the prefix only, all the completions will only have that many characters highlighted, not the chars from the suffix. See the second attached pic for an example. It seems okay to me, but I suppose the experience might vary between completion types and programming languages, etc. >> Finally, the use of 'completion-position-after-insert' seems like it >> could be used separately from the "ignored text", meaning the spans >> don't have to match. So it could be a separate feature, one that's >> easy enough to implement on its own. > > Yes, and I indeed think this feature is useful on its own, because it > allows choose-completion to be fully equivalent to > completion-try-completion. Right now completion-try-completion can > change point, but choose-completion can't. That's limiting for a bunch > of reasons, and the inability to fix this bug purely in a completion > style is one of them. Makes a certain sense. Just to make a note, I think try-completion moves point specifically to help position before the next char which would help disambiguate completions. choose-completion happens when no other completions are relevant, so it couldn't move point similarly. >> None of the above would be insurmountable, but here's what I think >> avoids it using the 'completion--adjust-metadata' thingy that was >> originally added for 'flex' a few releases ago: adding a metadata key >> 'completion-ignore-after-point'. >> >> The attached patch does not make a distinction for file name >> completion - it just covers the core problem - but I think any UI >> could use the addition and likewise lookup the 'file' category, and >> print the "hidden" suffix in the Completions, and decide to drop the >> suffix in your first scenario (file name completion with exit >> imminent). >> >> Spencer, Stefan, WDYT? > > Your patch is simple, and it works for default completion, but two > issues: > > - Your patch doesn't distinguish the two cases A and B that I described above. > > - Your patch will require company-mode and other frontends to change. > My patch does not strictly require that. In practice, company-mode will require a small change anyway, since it doesn't do pass-through for any of the faces now. See the first attachment. But to slice off the suffixes in the popup, which I'm currently inclined to do, might require more (and more complex) code than to print them selectively in the frontends that choose to (the "opt-in" approach). This is a part that gives me pause. > But if we're already requiring that, I think we should take the > opportunity to add the more powerful feature > completion-position-after-insert. > > Here's a simplified version of my earlier patch, which modifies the > emacs22 style to make it easier to discuss. I think this is equally > simple as your patch, but it: > > - Distinguishes the cases A and B by including the ignored text in the > completion, just grayed out. > > - Fixes the bug for other frontends without requiring them to change > (they get additional benefit when they change to support > completion-position-after-insert) > > Note that due to a separate bug in completion--twq-all, used in filename > completion, the graying-out face is dropped from the completion > candidates before they reach *Completions*; so if you try this, try it > by e.g. completing Lisp symbols. Thanks. If I were to do a test-drive to look for edge cases, is Lisp symbols the only kind of completion that I should try out? --------------IEDALas1eiIuOhY095S7zqDl Content-Type: image/png; name="Screenshot from 2024-10-17 03-00-36.png" Content-Disposition: attachment; filename="Screenshot from 2024-10-17 03-00-36.png" Content-Transfer-Encoding: base64 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 V0mSAt7/A5UD/DhZ3+IIAAAAAElFTkSuQmCC --------------IEDALas1eiIuOhY095S7zqDl Content-Type: image/png; name="Screenshot from 2024-10-17 03-01-07.png" Content-Disposition: attachment; filename="Screenshot from 2024-10-17 03-01-07.png" Content-Transfer-Encoding: base64 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 0AAAAABJRU5ErkJggg== --------------IEDALas1eiIuOhY095S7zqDl--
bug-gnu-emacs@HIDDEN
:bug#70968
; Package emacs
.
Full text available.Received: (at 70968) by debbugs.gnu.org; 15 Oct 2024 18:54:09 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Oct 15 14:54:09 2024 Received: from localhost ([127.0.0.1]:57462 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1t0mgK-0002wu-5Q for submit <at> debbugs.gnu.org; Tue, 15 Oct 2024 14:54:08 -0400 Received: from mxout1.mail.janestreet.com ([38.105.200.78]:39743) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <sbaugh@HIDDEN>) id 1t0mgH-0002wN-OP for 70968 <at> debbugs.gnu.org; Tue, 15 Oct 2024 14:54:06 -0400 From: Spencer Baugh <sbaugh@HIDDEN> To: Dmitry Gutov <dmitry@HIDDEN> Subject: Re: bug#70968: 29.2.50; choose-completion on an emacs22-style completion deletes text after point In-Reply-To: <8479c25d-b4ae-4e89-9880-0857a996936a@HIDDEN> (Dmitry Gutov's message of "Tue, 24 Sep 2024 03:03:41 +0300") References: <ierzfsqu8hh.fsf@HIDDEN> <86bk56jhsp.fsf@HIDDEN> <377f815c-52d2-4770-ae85-55e096e104b0@HIDDEN> <8634qhipgj.fsf@HIDDEN> <7e05fd14-3499-4811-b4bc-b53186b15408@HIDDEN> <86ed5vzzru.fsf@HIDDEN> <jwvjzfmcsfv.fsf-monnier+emacs@HIDDEN> <ierjzfjphzm.fsf@HIDDEN> <86o74qh9wv.fsf@HIDDEN> <ierr09jgyr1.fsf@HIDDEN> <8479c25d-b4ae-4e89-9880-0857a996936a@HIDDEN> Date: Tue, 15 Oct 2024 14:53:41 -0400 Message-ID: <iera5f5kxje.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=janestreet.com; s=waixah; t=1729018421; bh=IQoxUpDMAKqT5mUVt5DAs/TFPT4N+gkAxy8AK63eRck=; h=From:To:Cc:Subject:In-Reply-To:References:Date; b=soiMeddUnjkbVV7XJxf6zXxsh+L4BPOM3odEZuFGJqAgPdKm8tbSX/m03K2MATu5M obSLhyaFcqO4Pd5NSpodXt+CV+iugJsIhrz/oOu9FtZqo/nCHDHWcf7HDMKuFrJfT6 gxX7yvIyFLkcNTDcCvRLwgTA80kxpVoBMkxdwvTGAy5INPEUnl8nHU2sEseJcrxU/k zOa7Cjs4m9og+b/mnsyDq0cuI30Z7PAa7tfxYsKk9Hogrrq3FplyqvwbASp6JCqWV0 B2w01odZgRKMPqWJHJlgLVoI2ugH76icS9F6oX0v3TKyJTOSdKXXUE5ESoR0bvv1sI mjL1aSExwPOXQ== X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 70968 Cc: Eli Zaretskii <eliz@HIDDEN>, 70968 <at> debbugs.gnu.org, monnier@HIDDEN, juri@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain Dmitry Gutov <dmitry@HIDDEN> writes: > Hi Spencer, > > On 16/09/2024 22:54, Spencer Baugh wrote: >> Eli Zaretskii <eliz@HIDDEN> writes: >>> I'm okay with adding a new style, per B, but why do we need to >>> deprecate emacs22 at the same time? Let users who want this new >>> behavior customize their completion styles to use this new style >>> instead of emacs22. That'd be fully backward compatible, and will >>> solve the problem for those who don't like the current behavior. >> That's fair enough, we don't need to deprecate emacs22 at the same >> time, >> we can wait until the new style has been battle-tested. >> I think a new style should replace emacs22 in the default >> completion-styles eventually, but that can wait. >> And after working on this bug for a while, I now am convinced that >> the >> new style approach is straightforward, and is the best way. (Although >> it would also work to make these changes in the emacs22 style) > > I'm not quite convinced about the "new style only" approach myself, > but anyway we can discuss a solution that could be applied to any > style, opt-in or opt-out. > >> Attached is a patch which adds a new ignore-after-point style. The fix >> for this bug is entirely contained in the differences between >> completion-ignore-after-point-all-completions (c-iap-a-c) and >> completion-emacs22-all-completions (c-e22-a-c). >> c-e22-a-c always omits the text after point, which means >> choose-completion always deletes that text, causing this bug. >> c-iap-a-c includes the text after point in some cases. Whenever the >> text after point is included, it's grayed out with a new >> completions-ignored face to indicate it was ignored. >> The cases where c-iap-a-c includes the text after point are those >> where >> the user will have further chances to edit or complete with that text: >> - When we're doing minibuffer completion and choose-completion will >> immediately exit the minibuffer, the text after point is not included, >> since the user won't get any further changes to use it, and it's >> probably garbage. >> - When we're doing completion-at-point (or certain kinds of >> minibuffer >> completion, e.g. completing a directory in filename completion), the >> text after point is included. In such cases, the user can always >> delete it themselves later, or might want to actually use it. >> To make this work consistently with completion-try-completion (which >> keeps point before the ignored suffix in both the ignore-after-point and >> emacs22 styles), choose-completion-string now checks a new >> 'completion-position-after-insert text property, and moves point to that >> position. >> (There are two other changes which are general improvements >> unrelated to >> this bug: >> - The behavior of keeping point before the ignored suffix is more >> consistent. >> - Instead of hardcoding try-completion and all-completion, >> ignore-after-point uses the configured completion styles.) > > Thank you, I see a few problems with that approach (as discussed > privately as well). To recap: > > From my POV integrating the result with company-mode is > non-trivial. And the created visual doesn't seem optimal in a number > of edge cases (long prefix = weird-looking popup; this probably > applies to the *Completions* buffer as well, though maybe to a lesser > extent). I think this is preferable, though, and even if it isn't, it should still be supported. This keeps it explicit to the user exactly what text will be inserted into the buffer upon accepting a completion. Consider these two cases of completion (| representing point): A. switch-to-|asdf B. switch-to-|buffer In both cases, switch-to-next-buffer is a potential completion, provided by "emacs22" in the case A and "basic" in case B. But in case A, if switch-to-next-buffer is chosen, the "asdf" should be preserved, and in case B, if switch-to-next-buffer, the "buffer" should be deleted. Because they have different behavior, they should appear differently to the user. That's why I think case A should show "switch-to-next-bufferasdf" in the *Completions* buffer, with "asdf" grayed out via a "completions-ignored" face. If a user decides they don't want "asdf" text to be shown in case A, then they can customize that. If a frontend decides it doesn't want to show that text, it can omit the text. But it should at least be *possible* for the text to be shown. Otherwise there's no way to distinguish the two cases. > Another problem is both the "all-completions" method and the insertion > function call out to UI: choose-completion-string--should-exit > references minibuffer-completion-table and completion-no-auto-exit > directly, for example. I'm on the fence about coupling to the > completion category. That's not an important aspect, I've removed that dependency in my latest version. > Finally, the use of 'completion-position-after-insert' seems like it > could be used separately from the "ignored text", meaning the spans > don't have to match. So it could be a separate feature, one that's > easy enough to implement on its own. Yes, and I indeed think this feature is useful on its own, because it allows choose-completion to be fully equivalent to completion-try-completion. Right now completion-try-completion can change point, but choose-completion can't. That's limiting for a bunch of reasons, and the inability to fix this bug purely in a completion style is one of them. So I think we should just go ahead and implement this feature. And if we do so, it makes it possible to fix this bug with only changes inside a completion style. > None of the above would be insurmountable, but here's what I think > avoids it using the 'completion--adjust-metadata' thingy that was > originally added for 'flex' a few releases ago: adding a metadata key > 'completion-ignore-after-point'. > > The attached patch does not make a distinction for file name > completion - it just covers the core problem - but I think any UI > could use the addition and likewise lookup the 'file' category, and > print the "hidden" suffix in the Completions, and decide to drop the > suffix in your first scenario (file name completion with exit > imminent). > > Spencer, Stefan, WDYT? Your patch is simple, and it works for default completion, but two issues: - Your patch doesn't distinguish the two cases A and B that I described above. - Your patch will require company-mode and other frontends to change. My patch does not strictly require that. But if we're already requiring that, I think we should take the opportunity to add the more powerful feature completion-position-after-insert. Here's a simplified version of my earlier patch, which modifies the emacs22 style to make it easier to discuss. I think this is equally simple as your patch, but it: - Distinguishes the cases A and B by including the ignored text in the completion, just grayed out. - Fixes the bug for other frontends without requiring them to change (they get additional benefit when they change to support completion-position-after-insert) Note that due to a separate bug in completion--twq-all, used in filename completion, the graying-out face is dropped from the completion candidates before they reach *Completions*; so if you try this, try it by e.g. completing Lisp symbols. --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-Preserve-suffix-in-emacs22-style.patch From dabd42adc78ef3c3e8f40f913325941246993628 Mon Sep 17 00:00:00 2001 From: Spencer Baugh <sbaugh@HIDDEN> Date: Wed, 18 Sep 2024 08:52:54 -0400 Subject: [PATCH] Preserve suffix in emacs22 style --- lisp/minibuffer.el | 14 ++++++++++++-- lisp/simple.el | 11 +++++++---- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index 804afe9cb43..a28041751aa 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el @@ -3771,10 +3771,20 @@ completion-emacs22-try-completion (setq suffix (substring suffix 1))) (cons (concat completion suffix) (length completion)))))) +(defface completions-ignored + '((t (:inherit shadow))) + "Face for text which was ignored by the completion style.") + (defun completion-emacs22-all-completions (string table pred point) - (let ((beforepoint (substring string 0 point))) + (let ((beforepoint (substring string 0 point)) + (suffix (propertize (substring string point) 'face 'completions-ignored))) (completion-hilit-commonality - (all-completions beforepoint table pred) + (mapcar + (lambda (elem) + (let ((s (concat elem suffix))) + (put-text-property 0 1 'completion-position-after-insert (length elem) s) + s)) + (all-completions beforepoint table pred)) point (car (completion-boundaries beforepoint table pred ""))))) diff --git a/lisp/simple.el b/lisp/simple.el index e35cfe0479b..881eb51e57a 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -10371,10 +10371,13 @@ choose-completion-string ;; comes from buffer-substring-no-properties. ;;(remove-text-properties 0 (length choice) '(mouse-face nil) choice) ;; Insert the completion into the buffer where it was requested. - (funcall (or insert-function completion-list-insert-choice-function) - (or (car base-position) (point)) - (or (cadr base-position) (point)) - choice) + (let ((beg (or (car base-position) (point))) + (end (or (cadr base-position) (point)))) + (funcall (or insert-function completion-list-insert-choice-function) + beg end choice) + (unless (string-empty-p choice) + (when-let ((pos (get-text-property 0 'completion-position-after-insert choice))) + (goto-char (+ pos beg))))) ;; Update point in the window that BUFFER is showing in. (let ((window (get-buffer-window buffer t))) (set-window-point window (point))) -- 2.39.3 --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#70968
; Package emacs
.
Full text available.Received: (at 70968) by debbugs.gnu.org; 24 Sep 2024 00:04:20 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Sep 23 20:04:20 2024 Received: from localhost ([127.0.0.1]:44942 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sst2R-0007Rl-Dp for submit <at> debbugs.gnu.org; Mon, 23 Sep 2024 20:04:20 -0400 Received: from fhigh-a2-smtp.messagingengine.com ([103.168.172.153]:43945) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <dmitry@HIDDEN>) id 1sst2O-0007RW-77 for 70968 <at> debbugs.gnu.org; Mon, 23 Sep 2024 20:04:17 -0400 Received: from phl-compute-12.internal (phl-compute-12.phl.internal [10.202.2.52]) by mailfhigh.phl.internal (Postfix) with ESMTP id B2466114028E; Mon, 23 Sep 2024 20:03:46 -0400 (EDT) Received: from phl-mailfrontend-01 ([10.202.2.162]) by phl-compute-12.internal (MEProxy); Mon, 23 Sep 2024 20:03:46 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm3; t=1727136226; x=1727222626; bh=UXpXRQTOqp xK185coOrj8SB0m55W/KirXSoVIsDpK1E=; b=AQr2guYcRlzbSSYn/UUkHxfkfl ZULtJFRfjSFI/UiZTOCGJv5Ip7qyQbOxe2KZW/FmCtpbUSuqem8emiuyTUZD2N4M RvoakWVKysvrcRM35BjQqu7UQsonLA4wkeb5SQaXoQ0+BheO1WDiaYvxvEThWXLs IHD4qJj6YaF+sFgnItBnvsB6HTl2pK53ZMcz8zEheirLm0l3kdG8+kAwcyZoqlAx iC3jTEmbQS8n1U+7xG/BinOKphU1/tBYUq43NEjpzcF3YaWC+6UAGWh+c9KP1yC/ kKGlrmKJzLbzIqHusDKa3jKz30NJyTLRAvZUPK3AOYv/a2wMF7hBrvI1QiTQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; t=1727136226; x=1727222626; bh=UXpXRQTOqpxK185coOrj8SB0m55W /KirXSoVIsDpK1E=; b=bGWW/0zdWCL1mDlyKUmelDIB9gxxqfMQEw89vB/wxaqP pRve1Kw2Z+2/igQQ1VQ6zfmJmc4+qQGa6XXhUPNlFMcXxFwwFY20bqmsWhAhkLpF imqq0jo4vHo3WQHtlTdLWZapqboVbBal6c/hs0IGLztxu1P1mGT0OPXVN8dzb20q 2KD9H1ad/WAuw98LVc/RCBxYb7xUTSvJBp4n/KMoPX0KRH9mMmm+h8/ocQjsVtUz 7yjD6M+tczfx3GEMsI6n2+7Mo0wwn9sL7O5J10mbrB4iexekw20IaotbIanyNo+Y fCoKWXKU8dFcgF8h7FqwZKvbz0t2OFVFqBEA3+mpeA== X-ME-Sender: <xms:4QHyZgffA4dNabro428YLSDVgHAZWH-6suSSmWNSmO-Ru5HgEiBQxA> <xme:4QHyZiNccOsLAjjWHdSulgKVmhuTrsfVJaBA2WONI0zTiE2Nz0i9OD7gpiGuHTT46 Uo8GczIXCKqNqcTMag> X-ME-Received: <xmr:4QHyZhgFQ3PnsDFalYZZKIHbsZUbSlWWuqYbv-ZYoFIYjWMJ_IbsLhvpA3K2gAOXXJ0> X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrvddttddgfedtucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh htshculddquddttddmnecujfgurheptgfkffggfgfuvfevfhfhjgesmhdtreertddvjeen ucfhrhhomhepffhmihhtrhihucfiuhhtohhvuceoughmihhtrhihsehguhhtohhvrdguvg hvqeenucggtffrrghtthgvrhhnpeehleefudekudduveekieelgfeiffdvkefhkeeljeeu jeegueekveffkeejjeevheenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmh grihhlfhhrohhmpegumhhithhrhiesghhuthhovhdruggvvhdpnhgspghrtghpthhtohep hedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepshgsrghughhhsehjrghnvghsth hrvggvthdrtghomhdprhgtphhtthhopegvlhhiiiesghhnuhdrohhrghdprhgtphhtthho peejtdelieekseguvggssghughhsrdhgnhhurdhorhhgpdhrtghpthhtohepmhhonhhnih gvrhesihhrohdruhhmohhnthhrvggrlhdrtggrpdhrtghpthhtohepjhhurhhisehlihhn khhovhdrnhgvth X-ME-Proxy: <xmx:4QHyZl8nIBF6m0-JkkMIgPl4-MGdqe3XC-QWmr4IHdqNyvb9dY5mIQ> <xmx:4QHyZsvh5xd9Co-_C_VxxbRPssJdokp0Q-GiaA94Xio1-XqF-9evdA> <xmx:4QHyZsEhojRmpiJDhRuXuIjuBIqrPXn2eSGYagHZw2IN5D1o8c0J0g> <xmx:4QHyZrNW5QGlzB66a96KkzepFxM3r5h3tQwGOtlZ7D_JVUz9ExsGRA> <xmx:4gHyZmUqhMWL2h__MVImdZp9ZKNNVNs-XuYvWiWW-3b67GrAIMBbXBHM> Feedback-ID: i07de48aa:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 23 Sep 2024 20:03:43 -0400 (EDT) Content-Type: multipart/mixed; boundary="------------7t27Q3YoMU4RBlQUWy7eA2kp" Message-ID: <8479c25d-b4ae-4e89-9880-0857a996936a@HIDDEN> Date: Tue, 24 Sep 2024 03:03:41 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#70968: 29.2.50; choose-completion on an emacs22-style completion deletes text after point To: Spencer Baugh <sbaugh@HIDDEN>, Eli Zaretskii <eliz@HIDDEN> References: <ierzfsqu8hh.fsf@HIDDEN> <86bk56jhsp.fsf@HIDDEN> <377f815c-52d2-4770-ae85-55e096e104b0@HIDDEN> <8634qhipgj.fsf@HIDDEN> <7e05fd14-3499-4811-b4bc-b53186b15408@HIDDEN> <86ed5vzzru.fsf@HIDDEN> <jwvjzfmcsfv.fsf-monnier+emacs@HIDDEN> <ierjzfjphzm.fsf@HIDDEN> <86o74qh9wv.fsf@HIDDEN> <ierr09jgyr1.fsf@HIDDEN> Content-Language: en-US From: Dmitry Gutov <dmitry@HIDDEN> In-Reply-To: <ierr09jgyr1.fsf@HIDDEN> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 70968 Cc: 70968 <at> debbugs.gnu.org, monnier@HIDDEN, juri@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) This is a multi-part message in MIME format. --------------7t27Q3YoMU4RBlQUWy7eA2kp Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi Spencer, On 16/09/2024 22:54, Spencer Baugh wrote: > Eli Zaretskii <eliz@HIDDEN> writes: >> I'm okay with adding a new style, per B, but why do we need to >> deprecate emacs22 at the same time? Let users who want this new >> behavior customize their completion styles to use this new style >> instead of emacs22. That'd be fully backward compatible, and will >> solve the problem for those who don't like the current behavior. > > That's fair enough, we don't need to deprecate emacs22 at the same time, > we can wait until the new style has been battle-tested. > > I think a new style should replace emacs22 in the default > completion-styles eventually, but that can wait. > > And after working on this bug for a while, I now am convinced that the > new style approach is straightforward, and is the best way. (Although > it would also work to make these changes in the emacs22 style) I'm not quite convinced about the "new style only" approach myself, but anyway we can discuss a solution that could be applied to any style, opt-in or opt-out. > Attached is a patch which adds a new ignore-after-point style. The fix > for this bug is entirely contained in the differences between > completion-ignore-after-point-all-completions (c-iap-a-c) and > completion-emacs22-all-completions (c-e22-a-c). > > c-e22-a-c always omits the text after point, which means > choose-completion always deletes that text, causing this bug. > > c-iap-a-c includes the text after point in some cases. Whenever the > text after point is included, it's grayed out with a new > completions-ignored face to indicate it was ignored. > > The cases where c-iap-a-c includes the text after point are those where > the user will have further chances to edit or complete with that text: > > - When we're doing minibuffer completion and choose-completion will > immediately exit the minibuffer, the text after point is not included, > since the user won't get any further changes to use it, and it's > probably garbage. > > - When we're doing completion-at-point (or certain kinds of minibuffer > completion, e.g. completing a directory in filename completion), the > text after point is included. In such cases, the user can always > delete it themselves later, or might want to actually use it. > > To make this work consistently with completion-try-completion (which > keeps point before the ignored suffix in both the ignore-after-point and > emacs22 styles), choose-completion-string now checks a new > 'completion-position-after-insert text property, and moves point to that > position. > > (There are two other changes which are general improvements unrelated to > this bug: > > - The behavior of keeping point before the ignored suffix is more > consistent. > > - Instead of hardcoding try-completion and all-completion, > ignore-after-point uses the configured completion styles.) Thank you, I see a few problems with that approach (as discussed privately as well). To recap: From my POV integrating the result with company-mode is non-trivial. And the created visual doesn't seem optimal in a number of edge cases (long prefix = weird-looking popup; this probably applies to the *Completions* buffer as well, though maybe to a lesser extent). Another problem is both the "all-completions" method and the insertion function call out to UI: choose-completion-string--should-exit references minibuffer-completion-table and completion-no-auto-exit directly, for example. I'm on the fence about coupling to the completion category. Finally, the use of 'completion-position-after-insert' seems like it could be used separately from the "ignored text", meaning the spans don't have to match. So it could be a separate feature, one that's easy enough to implement on its own. None of the above would be insurmountable, but here's what I think avoids it using the 'completion--adjust-metadata' thingy that was originally added for 'flex' a few releases ago: adding a metadata key 'completion-ignore-after-point'. The attached patch does not make a distinction for file name completion - it just covers the core problem - but I think any UI could use the addition and likewise lookup the 'file' category, and print the "hidden" suffix in the Completions, and decide to drop the suffix in your first scenario (file name completion with exit imminent). Spencer, Stefan, WDYT? Again, the patch is against the emacs22 style for readability, but a new style can be added just as well. --------------7t27Q3YoMU4RBlQUWy7eA2kp Content-Type: text/x-patch; charset=UTF-8; name="completion-ignore-after-point-metadata.diff" Content-Disposition: attachment; filename="completion-ignore-after-point-metadata.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpc3AvbWluaWJ1ZmZlci5lbCBiL2xpc3AvbWluaWJ1ZmZlci5lbApp bmRleCA4MDRhZmU5Y2I0My4uNGFjMjMxMTcxYjYgMTAwNjQ0Ci0tLSBhL2xpc3AvbWluaWJ1 ZmZlci5lbAorKysgYi9saXNwL21pbmlidWZmZXIuZWwKQEAgLTI2MTMsNyArMjYxMyw2IEBA IG1pbmlidWZmZXItY29tcGxldGlvbi1oZWxwCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoYnVmZmVyLXN1YnN0cmluZyAocG9pbnQpIGVuZCkpKSkK ICAgICAgICAgICAgICAgICAocG9pbnQpKSkKICAgICAgICAgICAgICAoZmllbGQtY2hhciAo YW5kICg8IGZpZWxkLWVuZCBlbmQpIChjaGFyLWFmdGVyIGZpZWxkLWVuZCkpKQotICAgICAg ICAgICAgIChiYXNlLXBvc2l0aW9uIChsaXN0ICgrIHN0YXJ0IGJhc2Utc2l6ZSkgZmllbGQt ZW5kKSkKICAgICAgICAgICAgICAoYWxsLW1kIChjb21wbGV0aW9uLS1tZXRhZGF0YSAoYnVm ZmVyLXN1YnN0cmluZy1uby1wcm9wZXJ0aWVzCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0YXJ0IChwb2ludCkpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYmFzZS1zaXplIG1kCkBAIC0yNjIzLDYgKzI2MjIs MTIgQEAgbWluaWJ1ZmZlci1jb21wbGV0aW9uLWhlbHAKICAgICAgICAgICAgICAoYWZmLWZ1 biAoY29tcGxldGlvbi1tZXRhZGF0YS1nZXQgYWxsLW1kICdhZmZpeGF0aW9uLWZ1bmN0aW9u KSkKICAgICAgICAgICAgICAoc29ydC1mdW4gKGNvbXBsZXRpb24tbWV0YWRhdGEtZ2V0IGFs bC1tZCAnZGlzcGxheS1zb3J0LWZ1bmN0aW9uKSkKICAgICAgICAgICAgICAoZ3JvdXAtZnVu IChjb21wbGV0aW9uLW1ldGFkYXRhLWdldCBhbGwtbWQgJ2dyb3VwLWZ1bmN0aW9uKSkKKyAg ICAgICAgICAgICAoaWdub3JlLWFmdGVyLXBvaW50IChjb21wbGV0aW9uLW1ldGFkYXRhLWdl dCBhbGwtbWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAnaWdub3JlLWFmdGVyLXBvaW50KSkKKyAgICAgICAgICAgICAoYmFz ZS1wb3NpdGlvbiAobGlzdCAoKyBzdGFydCBiYXNlLXNpemUpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKGlmIGlnbm9yZS1hZnRlci1wb2ludAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAocG9pbnQpCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBmaWVsZC1lbmQpKSkKICAgICAgICAgICAgICAobWFpbmJ1ZiAo Y3VycmVudC1idWZmZXIpKQogICAgICAgICAgICAgIDs7IElmIHRoZSAqQ29tcGxldGlvbnMq IGJ1ZmZlciBpcyBzaG93biBpbiBhIG5ldwogICAgICAgICAgICAgIDs7IHdpbmRvdywgbWFy ayBpdCBhcyBzb2Z0bHktZGVkaWNhdGVkLCBzbyBidXJ5LWJ1ZmZlciBpbgpAQCAtMzc3OCw2 ICszNzgzLDEzIEBAIGNvbXBsZXRpb24tZW1hY3MyMi1hbGwtY29tcGxldGlvbnMKICAgICAg cG9pbnQKICAgICAgKGNhciAoY29tcGxldGlvbi1ib3VuZGFyaWVzIGJlZm9yZXBvaW50IHRh YmxlIHByZWQgIiIpKSkpKQogCisocHV0ICdlbWFjczIyICdjb21wbGV0aW9uLS1hZGp1c3Qt bWV0YWRhdGEgJ2NvbXBsZXRpb24tLWVtYWNzMjItYWRqdXN0LW1ldGFkYXRhKQorCisoZGVm dW4gY29tcGxldGlvbi0tZW1hY3MyMi1hZGp1c3QtbWV0YWRhdGEgKG1ldGFkYXRhKQorICBg KG1ldGFkYXRhCisgICAgKGlnbm9yZS1hZnRlci1wb2ludCAuIHQpCisgICAgLEAoY2RyIG1l dGFkYXRhKSkpCisKIDs7OyBCYXNpYyBjb21wbGV0aW9uLgogCiAoZGVmdW4gY29tcGxldGlv bi0tbWVyZ2Utc3VmZml4IChjb21wbGV0aW9uIHBvaW50IHN1ZmZpeCkK --------------7t27Q3YoMU4RBlQUWy7eA2kp--
bug-gnu-emacs@HIDDEN
:bug#70968
; Package emacs
.
Full text available.Received: (at 70968) by debbugs.gnu.org; 16 Sep 2024 19:55:20 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Sep 16 15:55:20 2024 Received: from localhost ([127.0.0.1]:53347 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sqHod-0004j1-AU for submit <at> debbugs.gnu.org; Mon, 16 Sep 2024 15:55:20 -0400 Received: from mxout2.mail.janestreet.com ([38.105.200.79]:45419) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <sbaugh@HIDDEN>) id 1sqHob-0004fl-6C for 70968 <at> debbugs.gnu.org; Mon, 16 Sep 2024 15:55:18 -0400 From: Spencer Baugh <sbaugh@HIDDEN> To: Eli Zaretskii <eliz@HIDDEN> Subject: Re: bug#70968: 29.2.50; choose-completion on an emacs22-style completion deletes text after point In-Reply-To: <86o74qh9wv.fsf@HIDDEN> (Eli Zaretskii's message of "Sat, 14 Sep 2024 12:17:04 +0300") References: <ierzfsqu8hh.fsf@HIDDEN> <86bk56jhsp.fsf@HIDDEN> <377f815c-52d2-4770-ae85-55e096e104b0@HIDDEN> <8634qhipgj.fsf@HIDDEN> <7e05fd14-3499-4811-b4bc-b53186b15408@HIDDEN> <86ed5vzzru.fsf@HIDDEN> <jwvjzfmcsfv.fsf-monnier+emacs@HIDDEN> <ierjzfjphzm.fsf@HIDDEN> <86o74qh9wv.fsf@HIDDEN> Date: Mon, 16 Sep 2024 15:54:58 -0400 Message-ID: <ierr09jgyr1.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=janestreet.com; s=waixah; t=1726516498; bh=DZOzKxRvmnWVXEQE2P/pMvw0pnaQ+1qHzPd6EsLV5O0=; h=From:To:Cc:Subject:In-Reply-To:References:Date; b=NIxLyvjZ07dkuFYmMKxgOPFwwkUHdGhEX/F3jhe5D+6ymUwldbmWr5Gcc6csELbnC MGWmkttoD5I9+HUiU2jy0Ip0FoNPf1+nmTLjY0kj1NScay3NNlZVIfRWobmWpyWleQ 5YGrsW63YxZjQiNgLD/0Ejxi9ywZ3gsKXMSMxA6fCUnuWlPtJu0/dsZqpx6k5dvtDy f7J+uFipNIBvDjXLgASL5ynE8LVpLR3y2n0zmxMCXAfHbVN7vA45/V75KfNZNw+KVK GV4KZIEV45bbNiSHDCOX0xKeyzKIiyOy5lnwwl5koBasarKqgnFV396/uRz/ha0UhN 8q41CoREMcuqA== X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 70968 Cc: dmitry@HIDDEN, 70968 <at> debbugs.gnu.org, monnier@HIDDEN, juri@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain Eli Zaretskii <eliz@HIDDEN> writes: > I'm okay with adding a new style, per B, but why do we need to > deprecate emacs22 at the same time? Let users who want this new > behavior customize their completion styles to use this new style > instead of emacs22. That'd be fully backward compatible, and will > solve the problem for those who don't like the current behavior. That's fair enough, we don't need to deprecate emacs22 at the same time, we can wait until the new style has been battle-tested. I think a new style should replace emacs22 in the default completion-styles eventually, but that can wait. And after working on this bug for a while, I now am convinced that the new style approach is straightforward, and is the best way. (Although it would also work to make these changes in the emacs22 style) Attached is a patch which adds a new ignore-after-point style. The fix for this bug is entirely contained in the differences between completion-ignore-after-point-all-completions (c-iap-a-c) and completion-emacs22-all-completions (c-e22-a-c). c-e22-a-c always omits the text after point, which means choose-completion always deletes that text, causing this bug. c-iap-a-c includes the text after point in some cases. Whenever the text after point is included, it's grayed out with a new completions-ignored face to indicate it was ignored. The cases where c-iap-a-c includes the text after point are those where the user will have further chances to edit or complete with that text: - When we're doing minibuffer completion and choose-completion will immediately exit the minibuffer, the text after point is not included, since the user won't get any further changes to use it, and it's probably garbage. - When we're doing completion-at-point (or certain kinds of minibuffer completion, e.g. completing a directory in filename completion), the text after point is included. In such cases, the user can always delete it themselves later, or might want to actually use it. To make this work consistently with completion-try-completion (which keeps point before the ignored suffix in both the ignore-after-point and emacs22 styles), choose-completion-string now checks a new 'completion-position-after-insert text property, and moves point to that position. (There are two other changes which are general improvements unrelated to this bug: - The behavior of keeping point before the ignored suffix is more consistent. - Instead of hardcoding try-completion and all-completion, ignore-after-point uses the configured completion styles.) Stefan, Dmitry, any comments? --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-Add-ignore-after-point-completion-style.patch From cdc7ce4b9958a0ef36e911066ecce82a6da09c02 Mon Sep 17 00:00:00 2001 From: Spencer Baugh <sbaugh@HIDDEN> Date: Mon, 16 Sep 2024 15:15:57 -0400 Subject: [PATCH] Add ignore-after-point completion style * lisp/minibuffer.el (completion--twq-all): Use the original completion faces where possible. (completion-styles-alist, completion-ignore-after-point--force-nil) (completions-ignored, completion-ignore-after-point-try-completion) (completion-ignore-after-point-all-completions): Add ignore-after-point completion style. (bug#70968) * lisp/simple.el (choose-completion-string--should-exit): Add. (choose-completion-string): Call choose-completion-string--should-exit. --- lisp/minibuffer.el | 142 ++++++++++++++++++++++++++++++++++++--------- lisp/simple.el | 47 +++++++++------ 2 files changed, 142 insertions(+), 47 deletions(-) diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index 72ee5d02002..e5d85ed6fc8 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el @@ -674,34 +674,42 @@ completion--twq-all ;; requote them, so that *Completions* can show nicer unquoted values ;; which only get quoted when needed by choose-completion. (nconc - (mapcar (lambda (completion) - (cl-assert (string-prefix-p prefix completion 'ignore-case) t) - (let* ((new (substring completion (length prefix))) - (qnew (funcall qfun new)) - (qprefix - (if (not completion-ignore-case) - qprefix - ;; Make qprefix inherit the case from `completion'. - (let* ((rest (substring completion - 0 (length prefix))) - (qrest (funcall qfun rest))) - (if (string-equal-ignore-case qprefix qrest) - (propertize qrest 'face - 'completions-common-part) - qprefix)))) - (qcompletion (concat qprefix qnew))) - ;; FIXME: Similarly here, Cygwin's mapping trips this - ;; assertion. - ;;(cl-assert - ;; (string-equal-ignore-case - ;; (funcall unquote - ;; (concat (substring string 0 qboundary) - ;; qcompletion)) - ;; (concat (substring ustring 0 boundary) - ;; completion)) - ;; t) - qcompletion)) - completions) + (mapcar + (if (string-equal qprefix prefix) + ;; There's no quoting in the prefix; quoting in the completions + ;; can be simpler and preserve the existing faces. + (lambda (completion) + (concat + (substring completion 0 (length prefix)) + (funcall qfun (substring completion (length prefix))))) + (lambda (completion) + (cl-assert (string-prefix-p prefix completion 'ignore-case) t) + (let* ((new (substring completion (length prefix))) + (qnew (funcall qfun new)) + (qprefix + (if (not completion-ignore-case) + qprefix + ;; Make qprefix inherit the case from `completion'. + (let* ((rest (substring completion + 0 (length prefix))) + (qrest (funcall qfun rest))) + (if (string-equal-ignore-case qprefix qrest) + (propertize qrest 'face + 'completions-common-part) + qprefix)))) + (qcompletion (concat qprefix qnew))) + ;; FIXME: Similarly here, Cygwin's mapping trips this + ;; assertion. + ;;(cl-assert + ;; (string-equal-ignore-case + ;; (funcall unquote + ;; (concat (substring string 0 qboundary) + ;; qcompletion)) + ;; (concat (substring ustring 0 boundary) + ;; completion)) + ;; t) + qcompletion))) + completions) qboundary)))) ;;; Minibuffer completion @@ -1038,6 +1046,12 @@ completion-styles-alist "Prefix completion that only operates on the text before point. I.e. when completing \"foo_bar\" (where _ is the position of point), it will consider all completions candidates matching the glob +pattern \"foo*\" and will add back \"bar\" to the end of it.") + (ignore-after-point + completion-ignore-after-point-try-completion completion-ignore-after-point-all-completions + "Prefix completion that only operates on the text before point. +I.e. when completing \"foo_bar\" (where _ is the position of point), +it will consider all completions candidates matching the glob pattern \"foo*\" and will add back \"bar\" to the end of it.") (basic completion-basic-try-completion completion-basic-all-completions @@ -3692,6 +3706,78 @@ completion-emacs22-all-completions point (car (completion-boundaries beforepoint table pred ""))))) +;;; ignore-after-point completion style. + +(defvar completion-ignore-after-point--force-nil nil + "When non-nil, the ignore-after-point style always returns nil.") + +(defface completions-ignored + '((t (:inherit shadow))) + "Face for text which was ignored by the completion style.") + +(defun completion-ignore-after-point-try-completion (string table pred point) + "Run `completion-try-completion' ignoring the part of STRING after POINT. + +We add the part of STRING after POINT back to the result." + (let ((prefix (substring string 0 point)) + (suffix (substring string point))) + (when-let ((completion + (unless completion-ignore-after-point--force-nil + (let ((completion-ignore-after-point--force-nil t)) + (completion-try-completion prefix table pred point))))) + ;; Add SUFFIX back to COMPLETION. However, previous completion styles failed and + ;; this one succeeded by ignoring SUFFIX. The success of future completion depends + ;; on ignoring SUFFIX. We mostly do that by keeping point right before SUFFIX. + (if (eq completion t) + ;; Keep point in the same place, right before SUFFIX. + (cons string point) + (let ((newstring (car completion)) + (newpoint (cdr completion))) + (cond + ((= (length newstring) newpoint) + ;; NEWPOINT is already right before SUFFIX. + (cons (concat newstring suffix) newpoint)) + ((minibufferp completion-reference-buffer) + ;; Don't allow moving point, keep it right before SUFFIX. + (cons (concat newstring suffix) (length newstring))) + (t + ;; If we're not in a minibuffer, then we're using `completion-at-point', which + ;; calculates a completion region to complete over. We can allow point to + ;; move and still cause SUFFIX to be omitted from the completion region, by + ;; including a space right before SUFFIX. + (cons (concat newstring + ;; Don't add another space if SUFFIX already starts with one. + (when (/= (aref suffix 0) ? ) " ") suffix) + newpoint)))))))) + +(defun completion-ignore-after-point-all-completions (string table pred point) + "Run `completion-all-completions' ignoring the part of STRING after POINT." + (let ((prefix (substring string 0 point)) + (suffix (propertize (substring string point) 'face 'completions-ignored))) + (when-let ((completions + (unless completion-ignore-after-point--force-nil + (let ((completion-ignore-after-point--force-nil t)) + (completion-all-completions prefix table pred point))))) + ;; Add SUFFIX back to each completion. COMPLETIONS may be an improper list (with + ;; the base position in its last cdr) so we can't use `mapcar'. + (let ((tail completions)) + (while (consp tail) + (let* ((completion (car tail)) + (choose-completion-will-exit + (and (minibufferp completion-reference-buffer) + (choose-completion-string--should-exit completion)))) + ;; Include the suffix if, after `choose-completion' runs on COMPLETION, the + ;; user is still able to use and edit the suffix. + (unless choose-completion-will-exit + (let ((end-of-real-completion (length completion))) + (setcar tail (concat completion suffix)) + ;; When chosen, point should go before SUFFIX. + (put-text-property + 0 1 'completion-position-after-insert end-of-real-completion + (car tail))))) + (setq tail (cdr tail)))) + completions))) + ;;; Basic completion. (defun completion--merge-suffix (completion point suffix) diff --git a/lisp/simple.el b/lisp/simple.el index 1dd6bfe5b22..fe68f23c4da 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -10083,6 +10083,20 @@ choose-completion-string-functions If all functions in the list return nil, that means to use the default method of inserting the completion in BUFFER.") +(defun choose-completion-string--should-exit (result) + "Should `choose-completion-string' exit the minibuffer if RESULT is chosen?" + (and + (not completion-no-auto-exit) + minibuffer-completion-table + ;; If this is reading a file name, and the file name chosen + ;; is a directory, don't exit the minibuffer. + (let ((bounds (completion-boundaries + result minibuffer-completion-table + minibuffer-completion-predicate ""))) + ;; The completion chosen leads to a new set of completions + ;; (e.g. it's a directory): don't exit the minibuffer yet. + (not (eq (car bounds) (length result)))))) + (defun choose-completion-string (choice &optional buffer base-position insert-function) "Switch to BUFFER and insert the completion choice CHOICE. @@ -10116,10 +10130,13 @@ choose-completion-string ;; comes from buffer-substring-no-properties. ;;(remove-text-properties 0 (length choice) '(mouse-face nil) choice) ;; Insert the completion into the buffer where it was requested. - (funcall (or insert-function completion-list-insert-choice-function) - (or (car base-position) (point)) - (or (cadr base-position) (point)) - choice) + (let ((beg (or (car base-position) (point))) + (end (or (cadr base-position) (point)))) + (funcall (or insert-function completion-list-insert-choice-function) + beg end choice) + (unless (string-empty-p choice) + (when-let ((pos (get-text-property 0 'completion-position-after-insert choice))) + (goto-char (+ pos beg))))) ;; Update point in the window that BUFFER is showing in. (let ((window (get-buffer-window buffer t))) (set-window-point window (point))) @@ -10127,21 +10144,13 @@ choose-completion-string (and (not completion-no-auto-exit) (minibufferp buffer) minibuffer-completion-table - ;; If this is reading a file name, and the file name chosen - ;; is a directory, don't exit the minibuffer. - (let* ((result (buffer-substring (field-beginning) (point))) - (bounds - (completion-boundaries result minibuffer-completion-table - minibuffer-completion-predicate - ""))) - (if (eq (car bounds) (length result)) - ;; The completion chosen leads to a new set of completions - ;; (e.g. it's a directory): don't exit the minibuffer yet. - (let ((mini (active-minibuffer-window))) - (select-window mini) - (when minibuffer-auto-raise - (raise-frame (window-frame mini)))) - (exit-minibuffer)))))))) + (if (choose-completion-string--should-exit + (buffer-substring (field-beginning) (point))) + (exit-minibuffer) + (let ((mini (active-minibuffer-window))) + (select-window mini) + (when minibuffer-auto-raise + (raise-frame (window-frame mini)))))))))) (define-derived-mode completion-list-mode nil "Completion List" "Major mode for buffers showing lists of possible completions. -- 2.39.3 --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#70968
; Package emacs
.
Full text available.Received: (at 70968) by debbugs.gnu.org; 14 Sep 2024 16:01:12 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Sep 14 12:01:12 2024 Received: from localhost ([127.0.0.1]:47684 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1spVCw-0007Pa-5L for submit <at> debbugs.gnu.org; Sat, 14 Sep 2024 12:01:12 -0400 Received: from eggs.gnu.org ([209.51.188.92]:47458) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1spVCu-0007PK-1c for 70968 <at> debbugs.gnu.org; Sat, 14 Sep 2024 12:01:09 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1spVCc-0006Ux-5k; Sat, 14 Sep 2024 12:00:50 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=2T7uyVHEe2mUsobG0O5taxg9o0j6JVa6MfPpWMFQhgE=; b=GG9cJ4CLwKuz vUyE+nSpKHS43bQrDo6hUjnQl1RFXz9WmOSnFp+IyLQWvvfixbdMyvQn6vSXPKq48nNFDSqiTJcVz FH1uTtdI4BA8+eeyU/IBdEGNf5i8eMZVS5hjtnPZtnhD/HVemWI9c76tdxbQAATG7PgqSCvi6h6Vy mHy0qUo7h2/Y4PYe9bDnkUobP4zw7rLTP8pVKBZ84xftTryfu0mVK0fGiZPw0A/H6G2Pr5ZenI3kh dqzVxm06KNQf9Z+gAcTHQ9IIXS7Artx8idBqAXRE2j6RtcoL5hnu7Ah/fgUaBL0A9XSjaDIXva8bA b18eYbYttEGEKgBRB0oPWw==; Date: Sat, 14 Sep 2024 19:00:46 +0300 Message-Id: <86bk0qfcnl.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Dmitry Gutov <dmitry@HIDDEN> In-Reply-To: <a20796c1-a431-4206-bb71-e3c005c55efc@HIDDEN> (message from Dmitry Gutov on Sat, 14 Sep 2024 18:18:46 +0300) Subject: Re: bug#70968: 29.2.50; choose-completion on an emacs22-style completion deletes text after point References: <ierzfsqu8hh.fsf@HIDDEN> <86bk56jhsp.fsf@HIDDEN> <377f815c-52d2-4770-ae85-55e096e104b0@HIDDEN> <8634qhipgj.fsf@HIDDEN> <7e05fd14-3499-4811-b4bc-b53186b15408@HIDDEN> <86ed5vzzru.fsf@HIDDEN> <jwvjzfmcsfv.fsf-monnier+emacs@HIDDEN> <ierjzfjphzm.fsf@HIDDEN> <86o74qh9wv.fsf@HIDDEN> <a20796c1-a431-4206-bb71-e3c005c55efc@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 70968 Cc: sbaugh@HIDDEN, 70968 <at> debbugs.gnu.org, monnier@HIDDEN, juri@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Date: Sat, 14 Sep 2024 18:18:46 +0300 > Cc: monnier@HIDDEN, juri@HIDDEN, 70968 <at> debbugs.gnu.org > From: Dmitry Gutov <dmitry@HIDDEN> > > > I'm okay with adding a new style, per B, but why do we need to > > deprecate emacs22 at the same time? Let users who want this new > > behavior customize their completion styles to use this new style > > instead of emacs22. > > I don't envy the person who's going to write documentation and has to > describe the distinction between these two styles, that they differ in > this particular place of the UI, and are otherwise the same. > > Deprecating the old style would at least say that this complication is a > wart which would someday go away, and we could take a shortcut in the > implementation (e.g. hardcode the value `emacs22` in some check). If documentation difficulties are the main issue with my proposal, then you can stop worrying.
bug-gnu-emacs@HIDDEN
:bug#70968
; Package emacs
.
Full text available.Received: (at 70968) by debbugs.gnu.org; 14 Sep 2024 15:19:09 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Sep 14 11:19:09 2024 Received: from localhost ([127.0.0.1]:47634 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1spUYH-0004r3-Eo for submit <at> debbugs.gnu.org; Sat, 14 Sep 2024 11:19:09 -0400 Received: from fout2-smtp.messagingengine.com ([103.168.172.145]:42235) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <dmitry@HIDDEN>) id 1spUYE-0004qQ-TO for 70968 <at> debbugs.gnu.org; Sat, 14 Sep 2024 11:19:08 -0400 Received: from phl-compute-06.internal (phl-compute-06.phl.internal [10.202.2.46]) by mailfout.phl.internal (Postfix) with ESMTP id 1D33A13801F6; Sat, 14 Sep 2024 11:18:50 -0400 (EDT) Received: from phl-mailfrontend-01 ([10.202.2.162]) by phl-compute-06.internal (MEProxy); Sat, 14 Sep 2024 11:18:50 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1726327130; x=1726413530; bh=GelZBCac7XQxjzBgxCdc9N3gAiDOXoCTmubuYseOWtQ=; b= WeTz3PJ+4swkRhGG+Nat01WQRLWlFseMMrlM0cIIuyQCJFVdzxVk5Eb8KbOmcOnt AyaZhRslF+wTqMrGrqXAMvTy1Li9wluMcC6yqust3Ps1Fl57vi6+Zn+Bjk9xohQ3 oqAYeKTPHSZ/z1+nQhuRPCRK5Unwy56CkHF0Fa9TUQyAQV7dQJJ40Mn7XjffCbqf f57V1NcpBCUP9cvjA/227zfu+qGpHaRvjNXnwxAjweexuDK7IdF5KoCyAVWAXOAy DD8po26deFJGI/w/aHtyPr/2QtWLl4b9wNsB+D7dEPU3UlMgXNkMc88fEZw04Q0X jSkS+IIj+v9r4hwSZBgA2g== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1726327130; x= 1726413530; bh=GelZBCac7XQxjzBgxCdc9N3gAiDOXoCTmubuYseOWtQ=; b=T r0953aYQVWzF9R3lGqlz9TAchgKOtBJ4Cgt7lePsjlzXuaIj94s5ekPHvzk5lZMI LxmmQRohPmKP9gRW6Hv7Rlf2ungHfp1BVdsieax4E5uF3WkgNMKbx7L6Ss2CQ8Iu uah8peITIwhm2Rf4Qw7IqRUA5bRlaG/JtfrmXTGKcaExBuPh4p4gk3GKVEDDXWH4 DdsaDwFT43q+ICYpZX1T2Gm1zVq+vY6ZHonylVTY8CJdgkDbrz6XBIUMGdn1AOVu j1xU5TY1QfTcwzA0OkZN4C0XaduoSrxQGfSJ56R68HS8ov2O1cag74+rkEzL9czG Csdvl4jErRDDSQhvAf0RA== X-ME-Sender: <xms:WanlZuHNq3pa6mgLTbu7JpGwo4Wpqad2UCFJU6HTg3K5J_UOAnLAuw> <xme:WanlZvXqgMdffWJd4wZLisUXpDz53INqOhLWosIMG-Y2gif1RWAOGpLGSaHm-mGGW wJUw7e8ozqpzGOc-Ns> X-ME-Received: <xmr:WanlZoKAOMxrgehLiNAaVDO-EOSOvMz68WWfIbXylyK8JXtYNICTtfexLM_jU3BC-tkB> X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrudektddgkeekucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh htshculddquddttddmnecujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddtvdej necuhfhrohhmpeffmhhithhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdrug gvvheqnecuggftrfgrthhtvghrnhepteduleejgeehtefgheegjeekueehvdevieekueef tddvtdevfefhvdevgedujeehnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpe hmrghilhhfrhhomhepughmihhtrhihsehguhhtohhvrdguvghvpdhnsggprhgtphhtthho peehpdhmohguvgepshhmthhpohhuthdprhgtphhtthhopegvlhhiiiesghhnuhdrohhrgh dprhgtphhtthhopehssggruhhghhesjhgrnhgvshhtrhgvvghtrdgtohhmpdhrtghpthht ohepmhhonhhnihgvrhesihhrohdruhhmohhnthhrvggrlhdrtggrpdhrtghpthhtohepjh hurhhisehlihhnkhhovhdrnhgvthdprhgtphhtthhopeejtdelieekseguvggssghughhs rdhgnhhurdhorhhg X-ME-Proxy: <xmx:WanlZoHvPjBIZBMkssio5KV05jgzSMyg7H8EP212t0OcjBkWOPZjQg> <xmx:WanlZkWkKfsefhUPwMyz3lxOsPITvbXl9wx5guHXjfBOMOZaEGPO-g> <xmx:WanlZrOL0yD4bQ9qBhXsCYv8L0jJDR2scQPcniXWIA3Y8PBDJjT3cg> <xmx:WanlZr3eNn8ak9CfHXuzueGG2fjtlEhV9w5JLIGraHoUGLH89WbZyw> <xmx:WqnlZucYdPTPFpaTbWHiY3oQHx4-MkYjNb_vFHdJb8bDg6-F_wsAj46z> Feedback-ID: i07de48aa:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat, 14 Sep 2024 11:18:48 -0400 (EDT) Message-ID: <a20796c1-a431-4206-bb71-e3c005c55efc@HIDDEN> Date: Sat, 14 Sep 2024 18:18:46 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#70968: 29.2.50; choose-completion on an emacs22-style completion deletes text after point To: Eli Zaretskii <eliz@HIDDEN>, Spencer Baugh <sbaugh@HIDDEN> References: <ierzfsqu8hh.fsf@HIDDEN> <86bk56jhsp.fsf@HIDDEN> <377f815c-52d2-4770-ae85-55e096e104b0@HIDDEN> <8634qhipgj.fsf@HIDDEN> <7e05fd14-3499-4811-b4bc-b53186b15408@HIDDEN> <86ed5vzzru.fsf@HIDDEN> <jwvjzfmcsfv.fsf-monnier+emacs@HIDDEN> <ierjzfjphzm.fsf@HIDDEN> <86o74qh9wv.fsf@HIDDEN> Content-Language: en-US From: Dmitry Gutov <dmitry@HIDDEN> In-Reply-To: <86o74qh9wv.fsf@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 70968 Cc: 70968 <at> debbugs.gnu.org, monnier@HIDDEN, juri@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) On 14/09/2024 12:17, Eli Zaretskii wrote: > B. Deprecate the emacs22 style and replace it with a new style called > `ignore-suffix` which has this bug fixed, and which replaces emacs22 > in the default value of completion-styles. Note that while this is a viable option, we're still lacking a mechanism which would fix the problem for the new completion style. And then we'd have two code paths for this behavior that somehow need to distinguish between these styles. With the original proposal we would delegate to the style's completion logic, but it would apparently behave the same between emacs22 and the new style. > Option C is from my POV the least desirable one: it adds some > complicated logic, which will almost certainly produce unintended > results, as everything in this completion-related mess we have. That's probably true, but whether it will make things more complicated or not would also depend on the overall design. With some effort, it could be the opposite - but with more changes across the board, overall not backward compatible ones. > I'm okay with adding a new style, per B, but why do we need to > deprecate emacs22 at the same time? Let users who want this new > behavior customize their completion styles to use this new style > instead of emacs22. I don't envy the person who's going to write documentation and has to describe the distinction between these two styles, that they differ in this particular place of the UI, and are otherwise the same. Deprecating the old style would at least say that this complication is a wart which would someday go away, and we could take a shortcut in the implementation (e.g. hardcode the value `emacs22` in some check).
bug-gnu-emacs@HIDDEN
:bug#70968
; Package emacs
.
Full text available.Received: (at 70968) by debbugs.gnu.org; 14 Sep 2024 09:17:28 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Sep 14 05:17:28 2024 Received: from localhost ([127.0.0.1]:44799 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1spOuG-00005N-6k for submit <at> debbugs.gnu.org; Sat, 14 Sep 2024 05:17:28 -0400 Received: from eggs.gnu.org ([209.51.188.92]:57174) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1spOuE-000050-NC for 70968 <at> debbugs.gnu.org; Sat, 14 Sep 2024 05:17:27 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1spOtw-0004BR-S1; Sat, 14 Sep 2024 05:17:09 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=s3uH1hLDbU1J9ZqgMCBwBQWi6LECLdiMX/OCgaTEflM=; b=cL0sm1llMzrj t1hZJ8udaKeNcV/kptmwW6jWlcxQ+m1fYn6a8Vo7JV2+lXaXoSeWy4rXqg9fPz4uYUOkfN1eXnQGj AjO0bYwN5q/nOP2vDbKHkg5Jf3abBQ/ShzS1gRLxX0KIxnSJ5HqyX5tbZgdJ/5uANqmKk39KRxM5X 7r9GHLNq+DhS9lITAbnz4pjC5MMteN3in39/cWJNnZkuAn4/qrrvvzCf7A6BszW96p+cGwSanTF2S AoSFsuxlSPfXeNukIkXnSy41rdefBoSGYK7g8ga/bcIDi4z2zqa9wvGBLHqttQRGJKPuZjmgjHWUK iJ282ZPw+esenjVQuZ3IyQ==; Date: Sat, 14 Sep 2024 12:17:04 +0300 Message-Id: <86o74qh9wv.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Spencer Baugh <sbaugh@HIDDEN> In-Reply-To: <ierjzfjphzm.fsf@HIDDEN> (message from Spencer Baugh on Tue, 10 Sep 2024 12:54:05 -0400) Subject: Re: bug#70968: 29.2.50; choose-completion on an emacs22-style completion deletes text after point References: <ierzfsqu8hh.fsf@HIDDEN> <86bk56jhsp.fsf@HIDDEN> <377f815c-52d2-4770-ae85-55e096e104b0@HIDDEN> <8634qhipgj.fsf@HIDDEN> <7e05fd14-3499-4811-b4bc-b53186b15408@HIDDEN> <86ed5vzzru.fsf@HIDDEN> <jwvjzfmcsfv.fsf-monnier+emacs@HIDDEN> <ierjzfjphzm.fsf@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 70968 Cc: dmitry@HIDDEN, 70968 <at> debbugs.gnu.org, monnier@HIDDEN, juri@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > From: Spencer Baugh <sbaugh@HIDDEN> > Cc: Eli Zaretskii <eliz@HIDDEN>, juri@HIDDEN, 70968 <at> debbugs.gnu.org, > Dmitry Gutov <dmitry@HIDDEN> > Date: Tue, 10 Sep 2024 12:54:05 -0400 > > Stefan Monnier <monnier@HIDDEN> writes: > >> Ping! How should we proceed with this bug report? > > > > I don't quite understand the question. > > > > After: > > > > Eli wrote: > >> Stefan wrote: > >> > I'm not sure it's terribly important to preserve this detail of the > >> > behavior of `Emacs-22`. The `emacs22` style does not aim to provide the > >> > illusion you're running an old Emacs. I named it that way because > >> > I couldn't come up with a good descriptive name for it. If it > >> > misbehaves, I don't see a need to be bug-compatible, especially since > >> > this doesn't affect ELisp code but users. > >> > >> I think it does, sorry. Suchj old behavior is a de-facto standard. > >> If we change that, we should at least have a knob to get back the old > >> behavior. > > > > I thought you had decided that the current behavior is not a bug. > > I'm fine with this choice and we can close it as such. > > Tho maybe we'd want to deprecate that `emacs22` style because of > > those odd cases. > > I definitely don't want to just close this bug. I often get user > complaints about this behavior. In my experience, for novice users, > it's a fairly significant inconsistency in the default Emacs completion > experience. > > I see a few good ways to fix this in a backwards-compatible way: > > A. Fix it in emacs22 with a defcustom to get back the old behavior. > > B. Deprecate the emacs22 style and replace it with a new style called > `ignore-suffix` which has this bug fixed, and which replaces emacs22 > in the default value of completion-styles. > > C. Follow this idea I suggested earlier: > > Currently emacs22 is the only style that ignores the text after point > when completing. But, this is often useful behavior, and I'd like to > support it in other completion styles. Specifically, I think it > would be nice if completion always: > > 1. First, run the completion styles on the literal text in the > completion region or minibuffer. > > 2. If that returned nil, run the completion styles again, but without > the text after point in the region or minibuffer. > > Step 2 when run with the basic style is equivalent to the emacs22 > style. So, emacs22 could be removed from the default > completion-styles, since a completion-styles of '(basic) would be > equivalent to '(basic emacs22). > > I think this would make it straightforward to then fix > choose-completion to behave correctly when the completion was > generated through step 2. > > I personally like the option C best, because I already want to do this > generalization, so that the ignore-suffix behavior also works for other > completion styles (e.g. partial-completion or substring). > > But I would like to get some feedback on this idea from others first. Option C is from my POV the least desirable one: it adds some complicated logic, which will almost certainly produce unintended results, as everything in this completion-related mess we have. I'm okay with adding a new style, per B, but why do we need to deprecate emacs22 at the same time? Let users who want this new behavior customize their completion styles to use this new style instead of emacs22. That'd be fully backward compatible, and will solve the problem for those who don't like the current behavior.
bug-gnu-emacs@HIDDEN
:bug#70968
; Package emacs
.
Full text available.Received: (at 70968) by debbugs.gnu.org; 10 Sep 2024 16:54:18 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Sep 10 12:54:18 2024 Received: from localhost ([127.0.0.1]:36909 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1so48A-0006YG-5E for submit <at> debbugs.gnu.org; Tue, 10 Sep 2024 12:54:18 -0400 Received: from mxout2.mail.janestreet.com ([38.105.200.79]:48925) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <sbaugh@HIDDEN>) id 1so487-0006Y0-SJ for 70968 <at> debbugs.gnu.org; Tue, 10 Sep 2024 12:54:16 -0400 From: Spencer Baugh <sbaugh@HIDDEN> To: Stefan Monnier <monnier@HIDDEN> Subject: Re: bug#70968: 29.2.50; choose-completion on an emacs22-style completion deletes text after point In-Reply-To: <jwvjzfmcsfv.fsf-monnier+emacs@HIDDEN> (Stefan Monnier's message of "Sun, 08 Sep 2024 07:12:47 -0400") References: <ierzfsqu8hh.fsf@HIDDEN> <86bk56jhsp.fsf@HIDDEN> <377f815c-52d2-4770-ae85-55e096e104b0@HIDDEN> <8634qhipgj.fsf@HIDDEN> <7e05fd14-3499-4811-b4bc-b53186b15408@HIDDEN> <86ed5vzzru.fsf@HIDDEN> <jwvjzfmcsfv.fsf-monnier+emacs@HIDDEN> Date: Tue, 10 Sep 2024 12:54:05 -0400 Message-ID: <ierjzfjphzm.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=janestreet.com; s=waixah; t=1725987245; bh=eTHrNf8WttcBKgJdJp3ZhmCB8E0xdrX19I5Yfz8xi18=; h=From:To:Cc:Subject:In-Reply-To:References:Date; b=skuI8Gvahg00vdAuFtzyMounXyPfSEJGUjDEwNUol94WPQZY9p2SO2kBREEHK06n4 AtN/qBt7dUN924PI6fnWvUw7IFi5f0uBCU5W0O45KxDqrFefeyKwiM+rTScdR/aWBU jv8T75vOJSZNVecRDMGZV20GR72x845UJAFrNHDOpMHpKCFX11xCO/lR1NQlBoR6rR dKSKRqFkl4bs4lRxIsDs2VLiWQflVhsW1fvd3SF3G/Q9hHR4HcspkLDWyF8bz5NsUy 1jZwC3OuvGJ+o3F2HRc4Gc69LIJxtZGyyoMMIHm6NbeZy1MicZrk+LR3326cd7uScR iabLge3UjXYZw== X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 70968 Cc: Dmitry Gutov <dmitry@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>, 70968 <at> debbugs.gnu.org, juri@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Stefan Monnier <monnier@HIDDEN> writes: >> Ping! How should we proceed with this bug report? > > I don't quite understand the question. > > After: > > Eli wrote: >> Stefan wrote: >> > I'm not sure it's terribly important to preserve this detail of the >> > behavior of `Emacs-22`. The `emacs22` style does not aim to provide the >> > illusion you're running an old Emacs. I named it that way because >> > I couldn't come up with a good descriptive name for it. If it >> > misbehaves, I don't see a need to be bug-compatible, especially since >> > this doesn't affect ELisp code but users. >> >> I think it does, sorry. Suchj old behavior is a de-facto standard. >> If we change that, we should at least have a knob to get back the old >> behavior. > > I thought you had decided that the current behavior is not a bug. > I'm fine with this choice and we can close it as such. > Tho maybe we'd want to deprecate that `emacs22` style because of > those odd cases. I definitely don't want to just close this bug. I often get user complaints about this behavior. In my experience, for novice users, it's a fairly significant inconsistency in the default Emacs completion experience. I see a few good ways to fix this in a backwards-compatible way: A. Fix it in emacs22 with a defcustom to get back the old behavior. B. Deprecate the emacs22 style and replace it with a new style called `ignore-suffix` which has this bug fixed, and which replaces emacs22 in the default value of completion-styles. C. Follow this idea I suggested earlier: Currently emacs22 is the only style that ignores the text after point when completing. But, this is often useful behavior, and I'd like to support it in other completion styles. Specifically, I think it would be nice if completion always: 1. First, run the completion styles on the literal text in the completion region or minibuffer. 2. If that returned nil, run the completion styles again, but without the text after point in the region or minibuffer. Step 2 when run with the basic style is equivalent to the emacs22 style. So, emacs22 could be removed from the default completion-styles, since a completion-styles of '(basic) would be equivalent to '(basic emacs22). I think this would make it straightforward to then fix choose-completion to behave correctly when the completion was generated through step 2. I personally like the option C best, because I already want to do this generalization, so that the ignore-suffix behavior also works for other completion styles (e.g. partial-completion or substring). But I would like to get some feedback on this idea from others first.
bug-gnu-emacs@HIDDEN
:bug#70968
; Package emacs
.
Full text available.Received: (at 70968) by debbugs.gnu.org; 8 Sep 2024 11:13:03 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Sep 08 07:13:03 2024 Received: from localhost ([127.0.0.1]:58049 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1snFqp-0005yb-Al for submit <at> debbugs.gnu.org; Sun, 08 Sep 2024 07:13:03 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:15361) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <monnier@HIDDEN>) id 1snFqn-0005y3-RU for 70968 <at> debbugs.gnu.org; Sun, 08 Sep 2024 07:13:02 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 513FB100043; Sun, 8 Sep 2024 07:12:53 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1725793972; bh=jaZNvytw2wcmbNXPJ1fhi2z8XFVMkyMgMFOm0WnwIHs=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=paRiEnHR2/mcG/1ewitUrw5KaBXFqlsk+Em3ZmKgmOHsjAbCju9KwiNFhEXhHQ8Qh kWy+A3rPsbxRfq/aeq3t3fUcm3ClmEXnzr6dNd43DlC/eARPHOGo7mY8mW8e0294o3 pSnuG2uslvMOnhiqdQk30bdXbzEIJC0bgk2y1PFsx2l18cV3wuyUrDj7+qpPokerWf Y+UiGpeWlWW5x8m0vjtvMHYHZpWwhgiQQHmVjjsRWcV8d+XRBJcmiKZQpWtOx45Cn5 UQP0gvnpntFN7R/jJS3zmYjJHMIVrBmYihFrhVCutDmugXry802TS/OZOCKNTfPgXd FSUB6Iu0Tx2Hg== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 3B40C10002E; Sun, 8 Sep 2024 07:12:52 -0400 (EDT) Received: from asado (31-131-247-74.ip252.fastwebnet.it [31.131.247.74]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 74B6C1207B9; Sun, 8 Sep 2024 07:12:50 -0400 (EDT) From: Stefan Monnier <monnier@HIDDEN> To: Eli Zaretskii <eliz@HIDDEN> Subject: Re: bug#70968: 29.2.50; choose-completion on an emacs22-style completion deletes text after point In-Reply-To: <86ed5vzzru.fsf@HIDDEN> (Eli Zaretskii's message of "Sat, 07 Sep 2024 10:30:45 +0300") Message-ID: <jwvjzfmcsfv.fsf-monnier+emacs@HIDDEN> References: <ierzfsqu8hh.fsf@HIDDEN> <86bk56jhsp.fsf@HIDDEN> <377f815c-52d2-4770-ae85-55e096e104b0@HIDDEN> <8634qhipgj.fsf@HIDDEN> <7e05fd14-3499-4811-b4bc-b53186b15408@HIDDEN> <86ed5vzzru.fsf@HIDDEN> Date: Sun, 08 Sep 2024 07:12:47 -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 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 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 70968 Cc: sbaugh@HIDDEN, juri@HIDDEN, 70968 <at> debbugs.gnu.org, Dmitry Gutov <dmitry@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Ping! How should we proceed with this bug report? I don't quite understand the question. After: Eli wrote: > Stefan wrote: > > I'm not sure it's terribly important to preserve this detail of the > > behavior of `Emacs-22`. The `emacs22` style does not aim to provide the > > illusion you're running an old Emacs. I named it that way because > > I couldn't come up with a good descriptive name for it. If it > > misbehaves, I don't see a need to be bug-compatible, especially since > > this doesn't affect ELisp code but users. > > I think it does, sorry. Suchj old behavior is a de-facto standard. > If we change that, we should at least have a knob to get back the old > behavior. I thought you had decided that the current behavior is not a bug. I'm fine with this choice and we can close it as such. Tho maybe we'd want to deprecate that `emacs22` style because of those odd cases. Stefan
bug-gnu-emacs@HIDDEN
:bug#70968
; Package emacs
.
Full text available.Received: (at 70968) by debbugs.gnu.org; 8 Sep 2024 02:02:39 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Sep 07 22:02:38 2024 Received: from localhost ([127.0.0.1]:57793 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sn7GA-0002gU-EM for submit <at> debbugs.gnu.org; Sat, 07 Sep 2024 22:02:38 -0400 Received: from fout1-smtp.messagingengine.com ([103.168.172.144]:43341) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <dmitry@HIDDEN>) id 1sn7G8-0002gD-K3 for 70968 <at> debbugs.gnu.org; Sat, 07 Sep 2024 22:02:37 -0400 Received: from phl-compute-09.internal (phl-compute-09.phl.internal [10.202.2.49]) by mailfout.phl.internal (Postfix) with ESMTP id 62B92138019D; Sat, 7 Sep 2024 22:02:29 -0400 (EDT) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-09.internal (MEProxy); Sat, 07 Sep 2024 22:02:29 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1725760949; x=1725847349; bh=+RiblT9XgTARG8NL+8cG+C8ZiMNoUljDKjYkrk+7QKE=; b= ImJV3nJZu/EfqlxIiaeLcNOjjCrdgBoryuwCEhQx+Drr0rxdBc3l1adtmpKs0o8d qlArmjRoAUJXHDJkhnBs97vDXTP42E1VNTMe5Ay5mMfuzWUE6aIJ2f9ZKsDOVIK+ hgF+Vw8Bv57mpdC/bGcV3TTwXkZfMC9z24act9BT/JSj9BVwIzRZ+GzaY343f8Ah qfAHwnaXH03LPk8Y6RcHf1Z7WwSQuTghAWA54+131oxLzQiUpQr9cL62Z6+PH006 HLu+IfmPdIxHZfwAwuPPHoY+MuRgdzn4+cpwfeumOBZ1CbGkP7qId+KuCMP/s6Vt cchS6tnBXPKHbkWtTjdGxA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1725760949; x= 1725847349; bh=+RiblT9XgTARG8NL+8cG+C8ZiMNoUljDKjYkrk+7QKE=; b=F op31wfo0yXtALsLSMfnEfU41rsu4KWeaa0/49u7rwit4fKaM8Dl1NCXzfuqSrI9f UXFgdF11/opSmBtzRe/a6OlL1tchzSKSqqX1n0Wky+5x1JdIHqVHmUJ7pBu+ChZO tvJ2khiZo42V0b6J33x/ORGZWRoSTPEQLLZ06ww34e3wU3SbzdcqN/OR5Rdwlx8/ lQEyjJ/kG+dakM+3wq2PwP4HKg04n4QSVHqHIY06A6jqkhVEdOm0CfCCxB9nB7ke nQ3qrJkS6PozP+BGl2+Xho0vxT807Oyb0T89GKs8jFCpOvKMSka4sVjoMZl93Hi8 BuOJFPYrpglrdifNcyXMQ== X-ME-Sender: <xms:tAXdZniimJYGWoBPtdGWyLGz-WPAqHiOwYkf3dABpK-2IuU7Fn9ajg> <xme:tAXdZkAZi19MQpP281AqCo7fXCJbfdrOECcBf2pav2LDbzjVOQYS5dLzsP9ugYkCM iF-J8FzaxI336CuQng> X-ME-Received: <xmr:tAXdZnGYSWXbCkPU21jNNSUO2QsBCAdu4AA3NKcDUS5ugoQr_Ng-s3QEgypGICRNNhCe> X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrudeigedgheefucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh htshculddquddttddmnecujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddtvdej necuhfhrohhmpeffmhhithhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdrug gvvheqnecuggftrfgrthhtvghrnhepffeifedvleeukedtgfelieegudfgveekfeejveej ffetffeuueeugefhveeiuddvnecuffhomhgrihhnpehgnhhurdhorhhgnecuvehluhhsth gvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepughmihhtrhihsehguhht ohhvrdguvghvpdhnsggprhgtphhtthhopeehpdhmohguvgepshhmthhpohhuthdprhgtph htthhopegvlhhiiiesghhnuhdrohhrghdprhgtphhtthhopehssggruhhghhesjhgrnhgv shhtrhgvvghtrdgtohhmpdhrtghpthhtohepmhhonhhnihgvrhesihhrohdruhhmohhnth hrvggrlhdrtggrpdhrtghpthhtohepjedtleeikeesuggvsggsuhhgshdrghhnuhdrohhr ghdprhgtphhtthhopehjuhhriheslhhinhhkohhvrdhnvght X-ME-Proxy: <xmx:tAXdZkTaWgoRxcGXbOY_9fam5yMiymkg9TCWXDaLby5P-ZPJGWL7vg> <xmx:tAXdZkzLu3NqL_59rs9s-2NhdHDiSsgyBLnXKhj7JMK_IwgrEFEU1A> <xmx:tAXdZq5zktIMM3Yvf0zmTqD_eGJ5MKB9_7D1gsDoaHyr5Cm9IRcADg> <xmx:tAXdZpwmTzeN_lJKmrohv6zeN190cA6rcyXM7_EB89QayEZX0j_Ziw> <xmx:tQXdZjp4MmUzb1Kd4RogJj-N5FxHb0nTVvAvogh0j3lr3RTCISsXOZa-> Feedback-ID: i0e71465a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat, 7 Sep 2024 22:02:27 -0400 (EDT) Message-ID: <204ea8b8-e9ad-42e6-b905-228fe1099219@HIDDEN> Date: Sun, 8 Sep 2024 05:02:24 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#70968: 29.2.50; choose-completion on an emacs22-style completion deletes text after point To: Eli Zaretskii <eliz@HIDDEN>, sbaugh@HIDDEN, monnier@HIDDEN References: <ierzfsqu8hh.fsf@HIDDEN> <86bk56jhsp.fsf@HIDDEN> <377f815c-52d2-4770-ae85-55e096e104b0@HIDDEN> <8634qhipgj.fsf@HIDDEN> <7e05fd14-3499-4811-b4bc-b53186b15408@HIDDEN> <86ed5vzzru.fsf@HIDDEN> Content-Language: en-US From: Dmitry Gutov <dmitry@HIDDEN> In-Reply-To: <86ed5vzzru.fsf@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 70968 Cc: 70968 <at> debbugs.gnu.org, juri@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) On 07/09/2024 10:30, Eli Zaretskii wrote: >> Date: Mon, 26 Aug 2024 03:08:56 +0300 >> Cc:sbaugh@HIDDEN,70968 <at> debbugs.gnu.org,juri@HIDDEN, >> monnier@HIDDEN >> From: Dmitry Gutov<dmitry@HIDDEN> >> >> On 16/05/2024 21:25, Eli Zaretskii wrote: >>>> I don't think that would be required exactly. >>>> >>>> The problem here (IIUC) is that completion behaves differently with the >>>> emacs22 style depending on whether the execution path went through >>>> choose-completion (which is not a method of completion style but a >>>> common subroutine) or not (when completion--do-completion performed >>>> expansion). >>> I understand that much. But what did these two (or their >>> then-equivalents) do in Emacs 22 and Emacs 23? >> I'm guessing they behaved incorrectly (or however we want to call the >> inconsistent behavior), but I don't have a compiled Emacs 22/23 around, >> and they might be difficult to build. >> >> Note that we fixed bug#48356 not too long ago, which is from the same >> general area, and it probably originated from before Emacs 22/23 too. >> >> It's worth looking for edge cases where we'd strongly prefer the current >> behavior, and they might exist, but so far I only know of situations >> where the change would be for the better, or the user might be okay with >> either (example at the end ofhttps://debbugs.gnu.org/72705#35). > Ping! How should we proceed with this bug report? I suggest we come up with a fix (which Stefan might have some ideas for), then see which reasonable scenarios get broken, if any. The one edge case in Eglot could be fixed in the same Emacs release, I believe. If any larger scope problems, we could add a variable/option to switch to the previous behavior.
bug-gnu-emacs@HIDDEN
:bug#70968
; Package emacs
.
Full text available.Received: (at 70968) by debbugs.gnu.org; 7 Sep 2024 07:30:59 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Sep 07 03:30:59 2024 Received: from localhost ([127.0.0.1]:54686 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1smpuN-00017p-4m for submit <at> debbugs.gnu.org; Sat, 07 Sep 2024 03:30:59 -0400 Received: from eggs.gnu.org ([209.51.188.92]:58292) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1smpuL-00017c-02 for 70968 <at> debbugs.gnu.org; Sat, 07 Sep 2024 03:30:57 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1smpuD-0006tW-8Z; Sat, 07 Sep 2024 03:30:49 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=Jbj+f4KeW8jaxXw1QY2UKGHdoWfnETyyUd5/icbr9/E=; b=OHCgH6EyITOg dYTR9Oj+fzGKqnLeQ6JrShCS7InF0gZhXFVrpGFCpsc7ZcjGp8EzgGF5yqorSGZ+ualxSrf+OJ+sC Y5OxxiUOSXkACmQztvHICTr7zygV/3Vujh+X2KFlqW1cIdzVoF012m32gQqIDoVdYnbHrZxBt1W/k 06OaYi1yPUetpqqY/QZ1azKNVDiSed7iaxOM88UkEiaGyyuXZf3gTpMlyT0dBr4yJOSI7Ecb1Vyv9 DYr90O3Ke45yFSSrdDbHSNf/vWEbYdbo4s+xKTGjxhxTEKPY5BkwYbsoTk66kCgoQQouiY4N8dHsl rteL7NiHnxuTOC3UsFbhpw==; Date: Sat, 07 Sep 2024 10:30:45 +0300 Message-Id: <86ed5vzzru.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: sbaugh@HIDDEN, Dmitry Gutov <dmitry@HIDDEN>, monnier@HIDDEN In-Reply-To: <7e05fd14-3499-4811-b4bc-b53186b15408@HIDDEN> (message from Dmitry Gutov on Mon, 26 Aug 2024 03:08:56 +0300) Subject: Re: bug#70968: 29.2.50; choose-completion on an emacs22-style completion deletes text after point References: <ierzfsqu8hh.fsf@HIDDEN> <86bk56jhsp.fsf@HIDDEN> <377f815c-52d2-4770-ae85-55e096e104b0@HIDDEN> <8634qhipgj.fsf@HIDDEN> <7e05fd14-3499-4811-b4bc-b53186b15408@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 70968 Cc: 70968 <at> debbugs.gnu.org, juri@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Date: Mon, 26 Aug 2024 03:08:56 +0300 > Cc: sbaugh@HIDDEN, 70968 <at> debbugs.gnu.org, juri@HIDDEN, > monnier@HIDDEN > From: Dmitry Gutov <dmitry@HIDDEN> > > On 16/05/2024 21:25, Eli Zaretskii wrote: > >> I don't think that would be required exactly. > >> > >> The problem here (IIUC) is that completion behaves differently with the > >> emacs22 style depending on whether the execution path went through > >> choose-completion (which is not a method of completion style but a > >> common subroutine) or not (when completion--do-completion performed > >> expansion). > > I understand that much. But what did these two (or their > > then-equivalents) do in Emacs 22 and Emacs 23? > > I'm guessing they behaved incorrectly (or however we want to call the > inconsistent behavior), but I don't have a compiled Emacs 22/23 around, > and they might be difficult to build. > > Note that we fixed bug#48356 not too long ago, which is from the same > general area, and it probably originated from before Emacs 22/23 too. > > It's worth looking for edge cases where we'd strongly prefer the current > behavior, and they might exist, but so far I only know of situations > where the change would be for the better, or the user might be okay with > either (example at the end of https://debbugs.gnu.org/72705#35). Ping! How should we proceed with this bug report?
bug-gnu-emacs@HIDDEN
:bug#70968
; Package emacs
.
Full text available.Received: (at 70968) by debbugs.gnu.org; 26 Aug 2024 00:09:58 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Aug 25 20:09:58 2024 Received: from localhost ([127.0.0.1]:43448 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1siNJ0-0007lT-Es for submit <at> debbugs.gnu.org; Sun, 25 Aug 2024 20:09:58 -0400 Received: from fout6-smtp.messagingengine.com ([103.168.172.149]:36185) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <dmitry@HIDDEN>) id 1siNIy-0007lE-Fa for 70968 <at> debbugs.gnu.org; Sun, 25 Aug 2024 20:09:57 -0400 Received: from phl-compute-07.internal (phl-compute-07.nyi.internal [10.202.2.47]) by mailfout.nyi.internal (Postfix) with ESMTP id 7BC19138FC92; Sun, 25 Aug 2024 20:09:00 -0400 (EDT) Received: from phl-mailfrontend-01 ([10.202.2.162]) by phl-compute-07.internal (MEProxy); Sun, 25 Aug 2024 20:09:00 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm2; t=1724630940; x=1724717340; bh=j1+Nui53lCmq3Z8UmCPFptt91L4Vzf1pMM5asAxcWa0=; b= gj/j83l5VBL4l/cEXbEF2MIAZ0r0kN+AIBQGBuVoDB8JaayHrh7SyrIn8NJOaja3 9eF41bTWOVxnxqjK+1enrAeVqfC7h+h5knAoL9k6i9C0ZrGtKKSL8opW67WmMIiH At12QMxbPT6lT9PToPg++bChx/oQ8dKBXG4XS0lvOnBSL5Yj0CpXVx51U/UGICEX ADCRWpnHr8fmfLa713cb7bMKYqLmfFuXp4Sy+O8/ynVrC5gGtKj/6FnnAXIlsKci KR16wba4mD22i5rsRY8U2KkFEBVf8qSlNLl0ejcF9RTUrHwI9vZTYEETDLaTJibc 1MMF7ds0ChzRA30DDgKzNQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1724630940; x= 1724717340; bh=j1+Nui53lCmq3Z8UmCPFptt91L4Vzf1pMM5asAxcWa0=; b=M NKcO6Ho+SygFXwN4DvsPyT/F4H/vYQIc2LD/dQUIGUhsLp5fIIpjimw78DnqyZ8B ahV9iuWq/ifXBJmrS6jdeqeTwETbMmALk98Nut9AWxGgCazPCnMnbR09dNRgyIn2 okg27BPL8LXyWHwLbHXumhq+ZH2J6z2smuLIhr5I8Xpct2VS2oHIk24+Qg2nilKN lTPJpDTH4bw8QIbf5niEeUbKajwFWsJ6ePzwCsNbBVFHgGZbAUBZZpEgmkKC8DHq 2Wn3vpoqcJxvUxRhprWo258kOWYxhGjZ04pVT0qvOtIE/mSrTPUUl5+k16VCkTRp T8Wnh/rzpmyOrvCIaWpSQ== X-ME-Sender: <xms:nMfLZnPVGyXgUq5dV8eEnDR9QmJu3OZQs8PX9NPeZXksXOxJJwo4vQ> <xme:nMfLZh9QmZboLMFFFSRQBowpaC4PaKnTzgUrtHcHckB0Q7soPz3XRyTA4F0p9Xnp1 zJkg8e3ikDGLB-Li5s> X-ME-Received: <xmr:nMfLZmRPN5OHV_F--Bblq2zA13-1EsS8O3NAuSlrV8IhBVWY6r0RTzT8_N7-ZgAYMDo> X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddruddvjedgfeduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh htshculddquddttddmnecujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddtvdej necuhfhrohhmpeffmhhithhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdrug gvvheqnecuggftrfgrthhtvghrnhepffeifedvleeukedtgfelieegudfgveekfeejveej ffetffeuueeugefhveeiuddvnecuffhomhgrihhnpehgnhhurdhorhhgnecuvehluhhsth gvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepughmihhtrhihsehguhht ohhvrdguvghvpdhnsggprhgtphhtthhopeehpdhmohguvgepshhmthhpohhuthdprhgtph htthhopegvlhhiiiesghhnuhdrohhrghdprhgtphhtthhopehssggruhhghhesjhgrnhgv shhtrhgvvghtrdgtohhmpdhrtghpthhtohepjedtleeikeesuggvsggsuhhgshdrghhnuh drohhrghdprhgtphhtthhopehjuhhriheslhhinhhkohhvrdhnvghtpdhrtghpthhtohep mhhonhhnihgvrhesihhrohdruhhmohhnthhrvggrlhdrtggr X-ME-Proxy: <xmx:nMfLZrsR9IwrH32ROSFRqvNxlHX1NMnD8dmBQs0gkiu8pV933tbm0w> <xmx:nMfLZvdSgQrUu4V3b2HTzSsn6lBA9HhgmS41V5F77KzOf6MWJADQaA> <xmx:nMfLZn3ZNNgOKGFUP4wW0WrKl1uOUowHnrKT4Ep3iQ_qQz0yp4KjlA> <xmx:nMfLZr95wOEKSUWcipsWoke-KpxrjeWCgv25PfmtZ6cg4XQsGrjqhQ> <xmx:nMfLZgHGngv5A1FREk4s5z9H_EYVdttWfRxx1BPFOHRSxuX06DiX3OqH> Feedback-ID: i0e71465a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun, 25 Aug 2024 20:08:58 -0400 (EDT) Message-ID: <7e05fd14-3499-4811-b4bc-b53186b15408@HIDDEN> Date: Mon, 26 Aug 2024 03:08:56 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#70968: 29.2.50; choose-completion on an emacs22-style completion deletes text after point To: Eli Zaretskii <eliz@HIDDEN> References: <ierzfsqu8hh.fsf@HIDDEN> <86bk56jhsp.fsf@HIDDEN> <377f815c-52d2-4770-ae85-55e096e104b0@HIDDEN> <8634qhipgj.fsf@HIDDEN> Content-Language: en-US From: Dmitry Gutov <dmitry@HIDDEN> In-Reply-To: <8634qhipgj.fsf@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 70968 Cc: sbaugh@HIDDEN, 70968 <at> debbugs.gnu.org, monnier@HIDDEN, juri@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) On 16/05/2024 21:25, Eli Zaretskii wrote: >> I don't think that would be required exactly. >> >> The problem here (IIUC) is that completion behaves differently with the >> emacs22 style depending on whether the execution path went through >> choose-completion (which is not a method of completion style but a >> common subroutine) or not (when completion--do-completion performed >> expansion). > I understand that much. But what did these two (or their > then-equivalents) do in Emacs 22 and Emacs 23? I'm guessing they behaved incorrectly (or however we want to call the inconsistent behavior), but I don't have a compiled Emacs 22/23 around, and they might be difficult to build. Note that we fixed bug#48356 not too long ago, which is from the same general area, and it probably originated from before Emacs 22/23 too. It's worth looking for edge cases where we'd strongly prefer the current behavior, and they might exist, but so far I only know of situations where the change would be for the better, or the user might be okay with either (example at the end of https://debbugs.gnu.org/72705#35).
bug-gnu-emacs@HIDDEN
:bug#70968
; Package emacs
.
Full text available.Received: (at 70968) by debbugs.gnu.org; 20 Jun 2024 15:46:11 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jun 20 11:46:11 2024 Received: from localhost ([127.0.0.1]:33997 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sKJzG-0005M0-Ju for submit <at> debbugs.gnu.org; Thu, 20 Jun 2024 11:46:10 -0400 Received: from mxout2.mail.janestreet.com ([38.105.200.79]:46829) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <sbaugh@HIDDEN>) id 1sKJzF-0005Lc-8R for 70968 <at> debbugs.gnu.org; Thu, 20 Jun 2024 11:46:09 -0400 From: Spencer Baugh <sbaugh@HIDDEN> To: 70968 <at> debbugs.gnu.org Subject: Re: bug#70968: 29.2.50; choose-completion on an emacs22-style completion deletes text after point In-Reply-To: <ierzfsqu8hh.fsf@HIDDEN> (Spencer Baugh's message of "Wed, 15 May 2024 16:26:50 -0400") References: <ierzfsqu8hh.fsf@HIDDEN> Date: Thu, 20 Jun 2024 11:45:59 -0400 Message-ID: <ier7cejfwi0.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=janestreet.com; s=waixah; t=1718898359; bh=cmnIUeXwAoddVkIo/hJ5KLOceArCdHPBo8+6FfBUeHI=; h=From:To:Cc:Subject:In-Reply-To:References:Date; b=kUOY9dv5M6QJHZrgT2vMc0LFc8HkJVHgQLtF3Ai5MVDZrACdAI1FdgY9sDd64G+Zx LfLq0K453t2UYg0s/7fZ2r0pDeSorsdOlxeoUo4AL8NpaI1jwZswefCDRv1V++EFxr SdiWhsz1wxPYxj4Nsok++mmmDjOAbgaU9/E6EmWmp+hiDGkRZyuK5UcktnShbTabxJ CvZuZjLl2Qw+IqvyNdAVKOkYs4PC/P5+ctzpc42uTukfN5AB3YZrD38j7cenrD9BzM pARuBPoDm9h04e4NIjU67TrSMfXQDUPdYPpXWhdN3/Z3VIjbpzpXyFQy770a5qHJYD 8o+ABvRe4EIrQ== X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 70968 Cc: dmitry@HIDDEN, Stefan Monnier <monnier@HIDDEN>, juri@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Here is an idea: Currently emacs22 is the only style that ignores the text after point when completing. But, this is often useful behavior, and I'd like to support it in other completion styles as a fallback. Specifically, I think it would be nice if completion always: 1. Try to complete including the suffix after point (like the basic, partial-completion, substring styles do) 2. If no completion matches, try to complete again without the suffix after point What if we implemented this in the completion machinery itself? If no style matches, run through all the styles again without the suffix after point. This would allow e.g. partial-completion behavior when completing in the middle of a symbol, which currently doesn't work. This would basically remove the emacs22 style, since it would be a behavior implemented at a higher level. Then each completion frontend could implement this "first with suffix then without suffix" behavior separately, which would make choose-completion and similar calls easier to make work. Stefan, I wonder if you have thoughts on this idea?
bug-gnu-emacs@HIDDEN
:bug#70968
; Package emacs
.
Full text available.Received: (at 70968) by debbugs.gnu.org; 16 May 2024 18:29:04 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 16 14:29:04 2024 Received: from localhost ([127.0.0.1]:50251 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1s7fqi-000232-3e for submit <at> debbugs.gnu.org; Thu, 16 May 2024 14:29:04 -0400 Received: from eggs.gnu.org ([209.51.188.92]:50700) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1s7fqf-00022b-RH for 70968 <at> debbugs.gnu.org; Thu, 16 May 2024 14:29:02 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1s7fqW-0000G6-7y; Thu, 16 May 2024 14:28:52 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=hY+ZAS4mBFdQYtwWeSmhX48zO/Lg8LmKmyTT9YPOY2E=; b=qnvEBKIjto22 5nmGtGjujdWH+s6YlUGsyV7GwiGbRYWLnuHk76O7/3axNFyMTn7xlscwHMMJPxHGdUktA/ST+epyb fAFvQNd72iz9+cKLUu/upSRhwX5vxisnHgkfL1AbNROXj6LqONuEqZH9PSz4DCmszLkE+QTVN8OTu a4aH+5AAx54un5jsI0MMqJHBH2JDppSCHpkEsXlhPd+6o+x5ryz6hFgvWJ9Df/0JUUDm8kmKQ0m1f /+p7IJySwsIwBlpwnrYaVGrIDY0Swj4gLhtSU3Q8DYNMAV6h+ZsXTxK/8ASyTMw0UeSK9f/w0rqZO tXrrUkOm4F05KMhWSW43Vw==; Date: Thu, 16 May 2024 21:28:45 +0300 Message-Id: <861q61ipb6.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Stefan Monnier <monnier@HIDDEN> In-Reply-To: <jwvcyplbr58.fsf-monnier+emacs@HIDDEN> (message from Stefan Monnier on Thu, 16 May 2024 13:40:35 -0400) Subject: Re: bug#70968: 29.2.50; choose-completion on an emacs22-style completion deletes text after point References: <ierzfsqu8hh.fsf@HIDDEN> <86bk56jhsp.fsf@HIDDEN> <jwvcyplbr58.fsf-monnier+emacs@HIDDEN> X-Spam-Score: -1.6 (-) X-Debbugs-Envelope-To: 70968 Cc: sbaugh@HIDDEN, juri@HIDDEN, 70968 <at> debbugs.gnu.org, dmitry@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.6 (--) > From: Stefan Monnier <monnier@HIDDEN> > Cc: Spencer Baugh <sbaugh@HIDDEN>, dmitry@HIDDEN, > 70968 <at> debbugs.gnu.org, juri@HIDDEN > Date: Thu, 16 May 2024 13:40:35 -0400 > > > If making these two ways consistent means we need to change the > > behavior of emacs22 style of completion, then I'm sorry, but we cannot > > do that. This style is a legacy style, and is there to provide the > > legacy behavior for those who need it. > > I'm not sure it's terribly important to preserve this detail of the > behavior of `Emacs-22`. The `emacs22` style does not aim to provide the > illusion you're running an old Emacs. I named it that way because > I couldn't come up with a good descriptive name for it. If it > misbehaves, I don't see a need to be bug-compatible, especially since > this doesn't affect ELisp code but users. I think it does, sorry. Suchj old behavior is a de-facto standard. If we change that, we should at least have a knob to get back the old behavior.
bug-gnu-emacs@HIDDEN
:bug#70968
; Package emacs
.
Full text available.Received: (at 70968) by debbugs.gnu.org; 16 May 2024 18:26:14 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 16 14:26:14 2024 Received: from localhost ([127.0.0.1]:50237 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1s7fny-00020y-CO for submit <at> debbugs.gnu.org; Thu, 16 May 2024 14:26:14 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46430) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1s7fnv-00020s-02 for 70968 <at> debbugs.gnu.org; Thu, 16 May 2024 14:26:12 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1s7fnm-0008B3-Ee; Thu, 16 May 2024 14:26:02 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=+xQxEaB06GGi1oYPM+k609R7yp7F6a8mtUYFy2Jy92E=; b=Hp3slIRiP+QD CAy4ILaDlFM0Df7+qUH0ffcWhznTuGwd8daze3GXKsxm8DjUgxghCGe+wWow2eWh7e+U5e+sU1AtD PFTYb/rDVAkKSK/TR2bWfYeeDpmXzy+bHFpR14vYbI6e/bDptV/VCTohXCbq+cat0Lxrsi9IuorUi ITBBvHSM5twGFoM60OpCLdw/48L1t0C6bf9Y0oAdfEWchgcFgoZOLVA6LzlHp5yudqhNBD9/WP2Ss FxIq5PF9Y8yCJMqmG/MRDMXV/IzD/BXscrLHRvjlWuVlR9rfsxTD+XoZTN9IX2qXCumTgw+jnr3ia OpJ41MYgyie7n1EfoFkT2Q==; Date: Thu, 16 May 2024 21:25:32 +0300 Message-Id: <8634qhipgj.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Dmitry Gutov <dmitry@HIDDEN> In-Reply-To: <377f815c-52d2-4770-ae85-55e096e104b0@HIDDEN> (message from Dmitry Gutov on Thu, 16 May 2024 20:26:31 +0300) Subject: Re: bug#70968: 29.2.50; choose-completion on an emacs22-style completion deletes text after point References: <ierzfsqu8hh.fsf@HIDDEN> <86bk56jhsp.fsf@HIDDEN> <377f815c-52d2-4770-ae85-55e096e104b0@HIDDEN> X-Spam-Score: -1.6 (-) X-Debbugs-Envelope-To: 70968 Cc: sbaugh@HIDDEN, 70968 <at> debbugs.gnu.org, monnier@HIDDEN, juri@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.6 (--) > Date: Thu, 16 May 2024 20:26:31 +0300 > Cc: 70968 <at> debbugs.gnu.org, juri@HIDDEN, > Stefan Monnier <monnier@HIDDEN> > From: Dmitry Gutov <dmitry@HIDDEN> > > On 16/05/2024 11:13, Eli Zaretskii wrote: > >> Cc: dmitry@HIDDEN, juri@HIDDEN > >> From: Spencer Baugh <sbaugh@HIDDEN> > >> Date: Wed, 15 May 2024 16:26:50 -0400 > >> > >> > >> try-completion and choose-completion have different behavior; with the > >> emacs22 completion style, the former preserves the text after point > >> (while ignoring it), whereas the latter deletes the text after point. > >> > >> 1. emacs -Q > >> > >> 2. In scratch, type "inhibit-asdf" and move point to after the "-" > >> > >> 3. Type "q" and M-<tab> > >> The buffer now contains "inhibit-quitasdf", because the emacs22 style > >> ignored the text after point and completed on "inhibit-q". > >> > >> 4. C-/ C-/ to change the buffer back to "inhibit-asdf" > >> > >> 5. M-<tab> > >> The *Completions* buffer will be displayed, containing among others > >> "inhibit-quit" as a completion, because the emacs22 style ignored the > >> text after point and completed on "inhibit-". > >> > >> 6. Use M-<down> and M-<ret> to select and choose "inhibit-quit" > >> The buffer now contains "inhibit-quit". > >> > >> The two ways of selecting completions should behave the same. > >> > >> I suggest that the behavior of not deleting the text after point is > >> better. The emacs22 style takes care to not delete the text after point > >> in try-completion and in completion cycling; we should take similar care > >> in choose-completion. > > > > If making these two ways consistent means we need to change the > > behavior of emacs22 style of completion, then I'm sorry, but we cannot > > do that. This style is a legacy style, and is there to provide the > > legacy behavior for those who need it. > > I don't think that would be required exactly. > > The problem here (IIUC) is that completion behaves differently with the > emacs22 style depending on whether the execution path went through > choose-completion (which is not a method of completion style but a > common subroutine) or not (when completion--do-completion performed > expansion). I understand that much. But what did these two (or their then-equivalents) do in Emacs 22 and Emacs 23?
bug-gnu-emacs@HIDDEN
:bug#70968
; Package emacs
.
Full text available.Received: (at 70968) by debbugs.gnu.org; 16 May 2024 17:40:47 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 16 13:40:47 2024 Received: from localhost ([127.0.0.1]:50037 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1s7f5z-0001Tt-6A for submit <at> debbugs.gnu.org; Thu, 16 May 2024 13:40:47 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:9069) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <monnier@HIDDEN>) id 1s7f5w-0001Tn-GM for 70968 <at> debbugs.gnu.org; Thu, 16 May 2024 13:40:45 -0400 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id B13DF80A95; Thu, 16 May 2024 13:40:36 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1715881235; bh=b3G38CPwf+PlJyJzpdedwV8aUvXIg8XSf7qH5TzPv+g=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=binsuO9KLCFGcOSOSAtwZEG+MzPBVnfnTULEykkTxf0iN9zAu3O+Vm7ysvE2/h4p+ UtFGprsDK/8zGUVRqaZoBB4W8IqNVbehu0elbu6e008xBEo9IUbJycFhw5TkjgWNr6 pXYg10JcC1KnJBCXZZwp4u7FdbFsP9Hxcj5SKrcmSnEpHi8thUb+hc7+odoe61YbEa 21Gx9vTSEDhWQ2/S5XqNjT19g/4FJay8NNlCLrCVYadx90mCmWeGBXN8xVdFw38kCB rr0O2UCgmi+Ynb5XFw6ptNkj7/lgLqjjLhmQ1zCuX7puvo/noXuxcV2WFHuZZtr22v Qv7p2Sc+ktg1g== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 9FD48805BE; Thu, 16 May 2024 13:40:35 -0400 (EDT) Received: from lechazo (lechon.iro.umontreal.ca [132.204.27.242]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 8CF5B12012E; Thu, 16 May 2024 13:40:35 -0400 (EDT) From: Stefan Monnier <monnier@HIDDEN> To: Eli Zaretskii <eliz@HIDDEN> Subject: Re: bug#70968: 29.2.50; choose-completion on an emacs22-style completion deletes text after point In-Reply-To: <86bk56jhsp.fsf@HIDDEN> (Eli Zaretskii's message of "Thu, 16 May 2024 11:13:26 +0300") Message-ID: <jwvcyplbr58.fsf-monnier+emacs@HIDDEN> References: <ierzfsqu8hh.fsf@HIDDEN> <86bk56jhsp.fsf@HIDDEN> Date: Thu, 16 May 2024 13:40:35 -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.157 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 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 70968 Cc: Spencer Baugh <sbaugh@HIDDEN>, juri@HIDDEN, 70968 <at> debbugs.gnu.org, dmitry@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) >> I suggest that the behavior of not deleting the text after point is >> better. The emacs22 style takes care to not delete the text after point >> in try-completion and in completion cycling; we should take similar care >> in choose-completion. I agree this inconsistency is a bug. I suspect it may have been a result of implementation limitations. A typical use case is C-x C-w bar ... realize you're not in the right subdir ... M-b ? ... choose some subdirectory in which you want to save `bar` ... Oops, oh no, `bar` has disappeared! > If making these two ways consistent means we need to change the > behavior of emacs22 style of completion, then I'm sorry, but we cannot > do that. This style is a legacy style, and is there to provide the > legacy behavior for those who need it. I'm not sure it's terribly important to preserve this detail of the behavior of `Emacs-22`. The `emacs22` style does not aim to provide the illusion you're running an old Emacs. I named it that way because I couldn't come up with a good descriptive name for it. If it misbehaves, I don't see a need to be bug-compatible, especially since this doesn't affect ELisp code but users. Stefan
bug-gnu-emacs@HIDDEN
:bug#70968
; Package emacs
.
Full text available.Received: (at 70968) by debbugs.gnu.org; 16 May 2024 17:26:46 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 16 13:26:46 2024 Received: from localhost ([127.0.0.1]:49972 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1s7esP-0001Fr-LW for submit <at> debbugs.gnu.org; Thu, 16 May 2024 13:26:46 -0400 Received: from fout2-smtp.messagingengine.com ([103.168.172.145]:35563) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <dmitry@HIDDEN>) id 1s7esM-0001Fl-Fn for 70968 <at> debbugs.gnu.org; Thu, 16 May 2024 13:26:43 -0400 Received: from compute6.internal (compute6.nyi.internal [10.202.2.47]) by mailfout.nyi.internal (Postfix) with ESMTP id F109A1381511; Thu, 16 May 2024 13:26:34 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute6.internal (MEProxy); Thu, 16 May 2024 13:26:34 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm2; t=1715880394; x=1715966794; bh=8LDx7Cf4RT/ExUJrLeXJaIwmHTslW10/HrV8BoCDq9Q=; b= GKHChPLXOPGdmSH/W70nM8knIP66UFlVeHVT95FO/EAlSimjCyA8Fx2e65G3BFw3 dCY9rJLUQN6tdiuJlZchrmuSEWOQKMe4c88m90CHl3ruFXNCQ0flxRgDHMuy0g60 TSICFMi4JtMfrxdU58BUmHhFkeWRZgQq+D/A6eb6ahRVutPNk63dhtPIuDXK7OKv Ten9uwgF61f7fzgOC+KPJKeIirTx2GLKzlAnkkb8yTC3QaXahFfrLXiqeusx2oC6 ep3SmvTWnmB4sN7rQzq8ou1WcSdSor7H++9YOzkrMYtb6tL/tSZ7/U03SoX/Wd5F gRgU74zPQ8Ps6IU2S+4L+g== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1715880394; x= 1715966794; bh=8LDx7Cf4RT/ExUJrLeXJaIwmHTslW10/HrV8BoCDq9Q=; b=i XaWsRCnKrAIx2VUXxD7v/rt+k9nb49nA4gWIKHbs+k3f+vAJ5fLyjwPllEfML+PE FoF69KTBfPhIxhwwmtOPG50un1JX9vEyomFHJnPfKxvPq7g/H1MDZY9SrDfC4Dqu ch+AaW41hsz5LdhYsanoSe3IA73ccfAUkGufM+bNIgB6tMR2HS0tJCLJXyQq4a2H +1n0HEGlLh+gSIWY12ArqTat5pDoT+pVCyCsDZw2Cg/rstBMsiB79ka1EWr1IsdM lx/scjEL/8zFbpHy02KLpnCGN1FD4WWxWOs6K/1I2JSoZcUVTw3C9pbV4D4hIjGW l+hIvHcO2PUICVgH5kCig== X-ME-Sender: <xms:ykFGZp4aAgzua7JKQXgoGqFcGggAX7yT2PT8Ri6oA5KDB3eofS03mg> <xme:ykFGZm5lbdZCEmn6QI9va-_C1W-FZuJC7m1VkJuWRElBlEp9yfCbuwHzeb2M81Adk BuAsZQ7FJB_9LZ6BvE> X-ME-Received: <xmr:ykFGZgdcfXLH_axjv7AXI68e_vE28B_ZR2yjSFhNghfLUZiv_d2qywHG_cNqvwVJe1K9> X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrvdehuddgudduudcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefkffggfgfuvfevfhfhjggtgfesthejredttddvjeenucfhrhhomhepffhm ihhtrhihucfiuhhtohhvuceoughmihhtrhihsehguhhtohhvrdguvghvqeenucggtffrrg htthgvrhhnpeetudeljeegheetgfehgeejkeeuhedvveeikeeufedtvddtveefhfdvveeg udejheenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe gumhhithhrhiesghhuthhovhdruggvvh X-ME-Proxy: <xmx:ykFGZiLlZY3X3vczrFduKRMePNJ8l3jWrBiAqYIKpNN3N0IB67k3kg> <xmx:ykFGZtLf2rPbMD-iaOntCTrFtNrfvpadYls64DAlfew0djmtbB098A> <xmx:ykFGZryUxisRWy-_IP-H6Xjintadser5S2F8wO1Y54rJI5fP1bNZpQ> <xmx:ykFGZpLNG6WPE-Yw-CyzLfFxK2y_dxYqe8KnQtbwjY4N3sjXgzqgmA> <xmx:ykFGZrjss2O8Ach3WWqWv6v0PREjkMhkCJGQD8cL6XTQ6mFSazCRg7yV> Feedback-ID: i0e71465a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 16 May 2024 13:26:33 -0400 (EDT) Message-ID: <377f815c-52d2-4770-ae85-55e096e104b0@HIDDEN> Date: Thu, 16 May 2024 20:26:31 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#70968: 29.2.50; choose-completion on an emacs22-style completion deletes text after point To: Eli Zaretskii <eliz@HIDDEN>, Spencer Baugh <sbaugh@HIDDEN> References: <ierzfsqu8hh.fsf@HIDDEN> <86bk56jhsp.fsf@HIDDEN> Content-Language: en-US From: Dmitry Gutov <dmitry@HIDDEN> In-Reply-To: <86bk56jhsp.fsf@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 70968 Cc: 70968 <at> debbugs.gnu.org, Stefan Monnier <monnier@HIDDEN>, juri@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) On 16/05/2024 11:13, Eli Zaretskii wrote: >> Cc: dmitry@HIDDEN, juri@HIDDEN >> From: Spencer Baugh <sbaugh@HIDDEN> >> Date: Wed, 15 May 2024 16:26:50 -0400 >> >> >> try-completion and choose-completion have different behavior; with the >> emacs22 completion style, the former preserves the text after point >> (while ignoring it), whereas the latter deletes the text after point. >> >> 1. emacs -Q >> >> 2. In scratch, type "inhibit-asdf" and move point to after the "-" >> >> 3. Type "q" and M-<tab> >> The buffer now contains "inhibit-quitasdf", because the emacs22 style >> ignored the text after point and completed on "inhibit-q". >> >> 4. C-/ C-/ to change the buffer back to "inhibit-asdf" >> >> 5. M-<tab> >> The *Completions* buffer will be displayed, containing among others >> "inhibit-quit" as a completion, because the emacs22 style ignored the >> text after point and completed on "inhibit-". >> >> 6. Use M-<down> and M-<ret> to select and choose "inhibit-quit" >> The buffer now contains "inhibit-quit". >> >> The two ways of selecting completions should behave the same. >> >> I suggest that the behavior of not deleting the text after point is >> better. The emacs22 style takes care to not delete the text after point >> in try-completion and in completion cycling; we should take similar care >> in choose-completion. > > If making these two ways consistent means we need to change the > behavior of emacs22 style of completion, then I'm sorry, but we cannot > do that. This style is a legacy style, and is there to provide the > legacy behavior for those who need it. I don't think that would be required exactly. The problem here (IIUC) is that completion behaves differently with the emacs22 style depending on whether the execution path went through choose-completion (which is not a method of completion style but a common subroutine) or not (when completion--do-completion performed expansion).
bug-gnu-emacs@HIDDEN
:bug#70968
; Package emacs
.
Full text available.Received: (at 70968) by debbugs.gnu.org; 16 May 2024 08:13:47 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 16 04:13:47 2024 Received: from localhost ([127.0.0.1]:47371 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1s7WFG-0007yj-H4 for submit <at> debbugs.gnu.org; Thu, 16 May 2024 04:13:46 -0400 Received: from eggs.gnu.org ([209.51.188.92]:45594) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1s7WFB-0007yX-Ca for 70968 <at> debbugs.gnu.org; Thu, 16 May 2024 04:13:45 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1s7WF1-0004ZG-MM; Thu, 16 May 2024 04:13:31 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=k9aTdjkZb+SNhOf71n2REYiJoitjy3L2yOFtrAnoqtQ=; b=JS68ALLtUOlp D1+7ApjIz0vbpfNwyfZ2G6s1YK+oowImZNSX/z/cl3GasxAK+gtVqcYqdXG4mPQfyKhl7cToBR/pn NrB+1Qd8DdHALBTVHPT5q3RbHnZ3geOkOBjiDXRGU1MFAh2OxvYWF/TEnSEdhTuku/bJI78uG7rb2 winzBnZx4NFQdRnq/ze7ooNde7vdrEOb1znj1kyKsrscBB4SANqpYqN5bKQerncHsgEaecRRu/bPE 8gdFjC0HGiD4lPoecMd4SP3H89cXW7NuaBy7GMcKYJy4zx011Q5SmdQEQ8a1r/EybRFosVlzOlXu5 EXMlGPO6VMG6MPXCcyb8Zg==; Date: Thu, 16 May 2024 11:13:26 +0300 Message-Id: <86bk56jhsp.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Spencer Baugh <sbaugh@HIDDEN> In-Reply-To: <ierzfsqu8hh.fsf@HIDDEN> (message from Spencer Baugh on Wed, 15 May 2024 16:26:50 -0400) Subject: Re: bug#70968: 29.2.50; choose-completion on an emacs22-style completion deletes text after point References: <ierzfsqu8hh.fsf@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 70968 Cc: dmitry@HIDDEN, 70968 <at> debbugs.gnu.org, juri@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Cc: dmitry@HIDDEN, juri@HIDDEN > From: Spencer Baugh <sbaugh@HIDDEN> > Date: Wed, 15 May 2024 16:26:50 -0400 > > > try-completion and choose-completion have different behavior; with the > emacs22 completion style, the former preserves the text after point > (while ignoring it), whereas the latter deletes the text after point. > > 1. emacs -Q > > 2. In scratch, type "inhibit-asdf" and move point to after the "-" > > 3. Type "q" and M-<tab> > The buffer now contains "inhibit-quitasdf", because the emacs22 style > ignored the text after point and completed on "inhibit-q". > > 4. C-/ C-/ to change the buffer back to "inhibit-asdf" > > 5. M-<tab> > The *Completions* buffer will be displayed, containing among others > "inhibit-quit" as a completion, because the emacs22 style ignored the > text after point and completed on "inhibit-". > > 6. Use M-<down> and M-<ret> to select and choose "inhibit-quit" > The buffer now contains "inhibit-quit". > > The two ways of selecting completions should behave the same. > > I suggest that the behavior of not deleting the text after point is > better. The emacs22 style takes care to not delete the text after point > in try-completion and in completion cycling; we should take similar care > in choose-completion. If making these two ways consistent means we need to change the behavior of emacs22 style of completion, then I'm sorry, but we cannot do that. This style is a legacy style, and is there to provide the legacy behavior for those who need it. So for making the decisions in this case we need to know how did Emacs 22 and later versions behave in the above scenario, and take it from there. If they all behaved like you show, then this behavior must stay unchanged, unfortunately, for backward-compatibility reasons.
bug-gnu-emacs@HIDDEN
:bug#70968
; Package emacs
.
Full text available.Received: (at submit) by debbugs.gnu.org; 15 May 2024 20:26:59 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed May 15 16:26:58 2024 Received: from localhost ([127.0.0.1]:44284 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1s7LDG-0007EI-JK for submit <at> debbugs.gnu.org; Wed, 15 May 2024 16:26:58 -0400 Received: from lists.gnu.org ([209.51.188.17]:34764) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <sbaugh@HIDDEN>) id 1s7LDD-0007EC-Q2 for submit <at> debbugs.gnu.org; Wed, 15 May 2024 16:26:56 -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 <sbaugh@HIDDEN>) id 1s7LDB-0000vC-JE for bug-gnu-emacs@HIDDEN; Wed, 15 May 2024 16:26:53 -0400 Received: from mxout5.mail.janestreet.com ([64.215.233.18]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <sbaugh@HIDDEN>) id 1s7LDA-0005bE-74 for bug-gnu-emacs@HIDDEN; Wed, 15 May 2024 16:26:53 -0400 From: Spencer Baugh <sbaugh@HIDDEN> To: bug-gnu-emacs@HIDDEN Subject: 29.2.50; choose-completion on an emacs22-style completion deletes text after point X-Debbugs-CC: dmitry@HIDDEN, juri@HIDDEN Date: Wed, 15 May 2024 16:26:50 -0400 Message-ID: <ierzfsqu8hh.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=janestreet.com; s=waixah; t=1715804810; bh=c9WmK3IzrtkDBFBQwiOi1BXzrh3fHev+hL30jz9z2S0=; h=From:To:Subject:Date; b=ywNsOx0oWzCelCKa65Il55MUqwkL9qbW3PZ0/OR2qK/MmoFTOxLP8QO0dEB48Brsb oA9LuVz9bTViowZJ38SG0YDucH73hUMOD6b9ABioZJigofO8BnMWOmNV+tVps/4iGt h/A5tNQuWG4inluvm1bIFdrfyItmFjLayaoUV3WeYjxFClkwJUY1VX93ym70tqn1JH s2et+F5FRlT3FkDA5rREhFFGnlH/IuP9a0zwO0sJnakfi86IS1goT6qoj2UYwBoCyO kTYbSSgTquB+LQ84X1QlH6RZ2tlYJ6iQCr6sn/kM5eX4GOVTvToeMEgwR+/nQ+UQVG veqYnhWoaBDww== Received-SPF: pass client-ip=64.215.233.18; envelope-from=sbaugh@HIDDEN; helo=mxout5.mail.janestreet.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.4 (--) try-completion and choose-completion have different behavior; with the emacs22 completion style, the former preserves the text after point (while ignoring it), whereas the latter deletes the text after point. 1. emacs -Q 2. In scratch, type "inhibit-asdf" and move point to after the "-" 3. Type "q" and M-<tab> The buffer now contains "inhibit-quitasdf", because the emacs22 style ignored the text after point and completed on "inhibit-q". 4. C-/ C-/ to change the buffer back to "inhibit-asdf" 5. M-<tab> The *Completions* buffer will be displayed, containing among others "inhibit-quit" as a completion, because the emacs22 style ignored the text after point and completed on "inhibit-". 6. Use M-<down> and M-<ret> to select and choose "inhibit-quit" The buffer now contains "inhibit-quit". The two ways of selecting completions should behave the same. I suggest that the behavior of not deleting the text after point is better. The emacs22 style takes care to not delete the text after point in try-completion and in completion cycling; we should take similar care in choose-completion. This is especially noticeable when using minibuffer-visible-completions, which make it easier to use choose-completion. It's also especially noticeable with corfu-mode, which usually automatically calls choose-completion when finishing completion.
Spencer Baugh <sbaugh@HIDDEN>
:dmitry@HIDDEN, juri@HIDDEN, bug-gnu-emacs@HIDDEN
.
Full text available.dmitry@HIDDEN, juri@HIDDEN, bug-gnu-emacs@HIDDEN
:bug#70968
; Package emacs
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.