From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.bugs Subject: bug#63648: 29.0.90; project.el: with switch-use-entire-map, switch-project errors on non-project commands Date: Mon, 23 Oct 2023 20:24:08 +0300 Message-ID: <56909bdd-14ee-f68c-178f-5057efcd6150@gutov.dev> References: <8634zyjt0k.fsf@mail.linkov.net> <8d1fb7ac-5c82-0ec2-8ae2-d09c131ec165@gutov.dev> <86edj6hyem.fsf@mail.linkov.net> <8634zitwoy.fsf@mail.linkov.net> <50d46d30-a796-b855-0d4c-690d6cb3d15b@gutov.dev> <86il88x9cy.fsf@mail.linkov.net> <4367c45c-95b3-6a29-4ba3-068a3c748452@gutov.dev> <2e34e515-a921-a969-0915-bea94c745f8b@gutov.dev> <868r9258oi.fsf@mail.linkov.net> <86edishisp.fsf@mail.linkov.net> <6fc81cbf-a21f-c5b4-aa56-e8518b8570d7@gutov.dev> <86msxgatuy.fsf@mail.linkov.net> <86y1gynr2u.fsf@mail.linkov.net> <7c72fd8c-c3f6-a974-8a4b-a081f7a9fe1a@gutov.dev> <86ttqmv7c6.fsf@mail.linkov.net> <56e7d865-0456-db7d-3a5d-1235e62508bf@gutov.dev> <865y31onju.fsf@mail.linkov.net> <8562bdad-e487-886a-af49-7f67d8d14b7a@gutov.dev> <86msw9g5yb.fsf@mail.linkov.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------RtqMHK0l4UL5ctmRBoCYbu60" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="28380"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Cc: Spencer Baugh , 63648@debbugs.gnu.org, sbaugh@catern.com To: Juri Linkov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Oct 23 19:24:53 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1quyfc-0006yC-17 for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 23 Oct 2023 19:24:52 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1quyfL-0005Gn-Aa; Mon, 23 Oct 2023 13:24:35 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1quyfJ-0005FY-QY for bug-gnu-emacs@gnu.org; Mon, 23 Oct 2023 13:24:33 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1quyfJ-0007J9-Hs for bug-gnu-emacs@gnu.org; Mon, 23 Oct 2023 13:24:33 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1quyfm-0004Tc-6B for bug-gnu-emacs@gnu.org; Mon, 23 Oct 2023 13:25:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 23 Oct 2023 17:25:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 63648 X-GNU-PR-Package: emacs Original-Received: via spool by 63648-submit@debbugs.gnu.org id=B63648.169808189117186 (code B ref 63648); Mon, 23 Oct 2023 17:25:02 +0000 Original-Received: (at 63648) by debbugs.gnu.org; 23 Oct 2023 17:24:51 +0000 Original-Received: from localhost ([127.0.0.1]:51541 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1quyfa-0004T6-Tw for submit@debbugs.gnu.org; Mon, 23 Oct 2023 13:24:51 -0400 Original-Received: from out4-smtp.messagingengine.com ([66.111.4.28]:41191) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1quyfX-0004Ss-Pc for 63648@debbugs.gnu.org; Mon, 23 Oct 2023 13:24:48 -0400 Original-Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 129685C0341; Mon, 23 Oct 2023 13:24:13 -0400 (EDT) Original-Received: from mailfrontend1 ([10.202.2.162]) by compute2.internal (MEProxy); Mon, 23 Oct 2023 13:24:13 -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:sender :subject:subject:to:to; s=fm2; t=1698081853; x=1698168253; bh=Xv 7Qe2zqmZKaHCN8teIMtMDrai3ly6urn4F9keS538M=; b=VDQmI8UWtVzGYuI2ys 83RoBVmSzjyF8TJU75CZhvtqftWGT8LGkma3wpjzBSx5/OalUupBiAWrqmI7HmDf AigBMfEuLKibC1dhKAx7Tj4r1+MZwXJb09dlXZQxXqsiXTkay8cFDpAOjNzJal63 ezLsQSaK2tuC8L7NPkKd7dKLzN7x3PL1IB2gxUDLwLDc1SUKJJbmtAYSDq0quF9Y Y2nl4DfE5OjHcenN7B0AFuhVc5m4DzyF11/b6iiPzdLGrYbpjScRZJZKkg/nzSzE tZCZn544qg1Kirb1V9EvhCg4osKcE/TBCr3q5dRb4cb7YQVuGHSxoJ6UkopYZ7i0 7ofg== 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:sender:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm3; t=1698081853; x=1698168253; bh=Xv7Qe2zqmZKaH CN8teIMtMDrai3ly6urn4F9keS538M=; b=vlSMHOxIbpsQOWI2uQdet3BJ5oq1r /1Y4vr8f8Sy52rg6BxhsAkh/GDdKZKLYGlEkth3HSUKyV5N+U96hGLwrnxuejCS7 rOjStcoUI6Fus9jHfmr1b0kPUpqBGw+o9Xj++zO8b1LTrnKr2dB1kDlvQp+cM6y7 AFveFA9fhPcFTFNFRd2tyuGvlFy7mSKzS1ex59SAFm/zfo8bqr3/awl0+THky5Ct g+WAhrUvO6ulygIVgo0ByLfTlSGUvApNdXDqWrKK94gZryjBqnEWOBLjjtZDSDGn 1UCDbfVsqLkLS7+qq8dWirldJbZiNR518Qt71P7yjS84I5T5VNROsAXxg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrkeeigdduuddtucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurheptgfkffggfgfuvfevfhfhjgesmhdtreertdefjeenucfhrhhomhepffhmihht rhihucfiuhhtohhvuceoughmihhtrhihsehguhhtohhvrdguvghvqeenucggtffrrghtth gvrhhnpeehteekgfetieeujeeuvddtvdelteffleejteduvdefffejieehheeuteffveei jeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegumh hithhrhiesghhuthhovhdruggvvh X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Original-Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 23 Oct 2023 13:24:11 -0400 (EDT) Content-Language: en-US In-Reply-To: <86msw9g5yb.fsf@mail.linkov.net> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:273033 Archived-At: This is a multi-part message in MIME format. --------------RtqMHK0l4UL5ctmRBoCYbu60 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 23/10/2023 09:58, Juri Linkov wrote: >>> Wow, it works nicely for 'C-x p p C-x d'. >>> But strange it fails for 'C-x p p C-x v d' >>> with the same error: >>> (wrong-type-argument commandp 1) >> >> That's because (lookup-key ... "vd") also returns 1. >> >> I haven't been able to find a solution that works like we would expect. The >> most trivial would be to loop cutting off invalid prefixes, but then we end >> up with 'd', not 'v'. That's probably not what you want. >> >> Ideally, 'read-key-sequence' would stop at the user pressing 'v' and return >> "^Xv", then the rest would work out okay. But I haven't managed to have it >> do that, even when using overriding-terminal-local-map and temporarily >> altering the global map. My experimental patch is below, you can try >> tweaking it. > > Now can't type 'C-x p p C-x v d' completely because > 'C-x p p C-x v' opens vc-dir after typing 'v'. Huh. That actually works for me now, after I ran 'make' and restarted. But I thought you wanted this? 'C-x v d' ends with vc-dir, so if 'C-x p p C-x v' opens vc-dir, then isn't this what you expected? Anyway, the resulting UI is fairly counter-intuitive. >> And overall I'm not sure it's a constructive approach because you might >> have been going for 'C-x v d' (where the 'v' translation is correct), but >> you might have been going for 'C-x v D' or 'C-x v v' instead, very >> different commands. It might be better to report unknown key sequence and >> let the user make an explicit choice, like it works now. Depends on whether >> you notice the key sequence echoing while doing that input. > > Maybe adding a new option 'project-switch-use-global-map' would help? Try the attached, it's another iteration on the latest patch (prefix-command-echo-keystrokes-functions doesn't seem to work reliably in this context). Try it together with (setq project-switch-commands 'project-any-command) Also see the "Variation" in the comment (it allows for short bindings). --------------RtqMHK0l4UL5ctmRBoCYbu60 Content-Type: text/x-patch; charset=UTF-8; name="project-other-command-v3.diff" Content-Disposition: attachment; filename="project-other-command-v3.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpc3AvcHJvZ21vZGVzL3Byb2plY3QuZWwgYi9saXNwL3Byb2dtb2Rl cy9wcm9qZWN0LmVsCmluZGV4IGZkYTEwODFlYjYyLi42ZmZmYTkyZDcxZiAxMDA2NDQKLS0t IGEvbGlzcC9wcm9nbW9kZXMvcHJvamVjdC5lbAorKysgYi9saXNwL3Byb2dtb2Rlcy9wcm9q ZWN0LmVsCkBAIC04NDcsNiArODQ3LDcgQEAgcHJvamVjdC1wcmVmaXgtbWFwCiAgICAgKGRl ZmluZS1rZXkgbWFwICJHIiAncHJvamVjdC1vci1leHRlcm5hbC1maW5kLXJlZ2V4cCkKICAg ICAoZGVmaW5lLWtleSBtYXAgInIiICdwcm9qZWN0LXF1ZXJ5LXJlcGxhY2UtcmVnZXhwKQog ICAgIChkZWZpbmUta2V5IG1hcCAieCIgJ3Byb2plY3QtZXhlY3V0ZS1leHRlbmRlZC1jb21t YW5kKQorICAgIChkZWZpbmUta2V5IG1hcCAibyIgJ3Byb2plY3QtYW55LWNvbW1hbmQpCiAg ICAgKGRlZmluZS1rZXkgbWFwICJcQy1iIiAncHJvamVjdC1saXN0LWJ1ZmZlcnMpCiAgICAg bWFwKQogICAiS2V5bWFwIGZvciBwcm9qZWN0IGNvbW1hbmRzLiIpCkBAIC0xODEzLDYgKzE4 MTQsMzcgQEAgcHJvamVjdC1leGVjdXRlLWV4dGVuZGVkLWNvbW1hbmQKICAgKGxldCAoKGRl ZmF1bHQtZGlyZWN0b3J5IChwcm9qZWN0LXJvb3QgKHByb2plY3QtY3VycmVudCB0KSkpKQog ICAgIChjYWxsLWludGVyYWN0aXZlbHkgIydleGVjdXRlLWV4dGVuZGVkLWNvbW1hbmQpKSkK IAorOzs7IyMjYXV0b2xvYWQKKyhkZWZ1biBwcm9qZWN0LWFueS1jb21tYW5kICgpCisgICJS dW4gdGhlIG5leHQgY29tbWFuZCBpbiB0aGUgY3VycmVudCBwcm9qZWN0LgorSWYgdGhlIGNv bW1hbmQgaXMgaW4gYHByb2plY3QtcHJlZml4LW1hcCcsIGl0IGdldHMgcGFzc2VkIHRoYXQK K2luZm8gd2l0aCBgcHJvamVjdC1jdXJyZW50LWRpcmVjdG9yeS1vdmVycmlkZScuICBPdGhl cndpc2UsCitgZGVmYXVsdC1kaXJlY3RvcnknIGlzIHRlbXBvcmFyaWx5IHNldCB0byB0aGUg Y3VycmVudCBwcm9qZWN0J3MKK3Jvb3QuIgorICAoaW50ZXJhY3RpdmUpCisgIChsZXQqICgo cHIgKHByb2plY3QtY3VycmVudCB0KSkKKyAgICAgICAgIDs7IFZhcmlhdGlvbjogY291bGQg YmUgYSBzZXBhcmF0ZSBjb21tYW5kLCBvciBhbiBvcHRpb24uCisgICAgICAgICA7OyAoY29t bWFuZCAobGV0ICgob3ZlcnJpZGluZy1sb2NhbC1tYXAgcHJvamVjdC1wcmVmaXgtbWFwKSkK KyAgICAgICAgIDs7ICAgICAgICAgICAgKGtleS1iaW5kaW5nIChyZWFkLWtleS1zZXF1ZW5j ZQorICAgICAgICAgOzsgICAgICAgICAgICAgICAgICAgICAgICAgIChmb3JtYXQgIltleGVj dXRlIGluICVzXToiIChwcm9qZWN0LXJvb3QgcHIpKSkKKyAgICAgICAgIDs7ICAgICAgICAg ICAgICAgICAgICAgICAgIHQpKSkKKyAgICAgICAgIChjb21tYW5kIChrZXktYmluZGluZyAo cmVhZC1rZXktc2VxdWVuY2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZv cm1hdCAiW2V4ZWN1dGUgaW4gJXNdOiIgKHByb2plY3Qtcm9vdCBwcikpKQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHQpKQorICAgICAgICAgKHJvb3QgKHByb2plY3Qtcm9v dCBwcikpCisgICAgICAgICBmb3VuZCkKKyAgICAod2hlbiBjb21tYW5kCisgICAgICA7OyBX ZSBjb3VsZCBhbHNvIGNoZWNrIHRoZSBjb21tYW5kIG5hbWUgYWdhaW5zdCAiXFxgcHJvamVj dC0iLAorICAgICAgOzsgYW5kL29yIChnZXQgY29tbWFuZCAncHJvamVjdC1jb21tYW5kKS4K KyAgICAgIChtYXAta2V5bWFwCisgICAgICAgKGxhbWJkYSAoX2V2dCBjbWQpIChpZiAoZXEg Y21kIGNvbW1hbmQpIChzZXRxIGZvdW5kIHQpKSkKKyAgICAgICBwcm9qZWN0LXByZWZpeC1t YXApCisgICAgICAoaWYgZm91bmQKKyAgICAgICAgICAobGV0ICgocHJvamVjdC1jdXJyZW50 LWRpcmVjdG9yeS1vdmVycmlkZSByb290KSkKKyAgICAgICAgICAgIChjYWxsLWludGVyYWN0 aXZlbHkgY29tbWFuZCkpCisgICAgICAgIChsZXQgKChkZWZhdWx0LWRpcmVjdG9yeSByb290 KSkKKyAgICAgICAgICAoY2FsbC1pbnRlcmFjdGl2ZWx5IGNvbW1hbmQpKSkpKSkKKwogKGRl ZnVuIHByb2plY3QtcmVtZW1iZXItcHJvamVjdHMtdW5kZXIgKGRpciAmb3B0aW9uYWwgcmVj dXJzaXZlKQogICAiSW5kZXggYWxsIHByb2plY3RzIGJlbG93IGEgZGlyZWN0b3J5IERJUi4K IElmIFJFQ1VSU0lWRSBpcyBub24tbmlsLCByZWN1cnNlIGludG8gYWxsIHN1YmRpcmVjdG9y aWVzIHRvIGZpbmQKQEAgLTE4OTEsNyArMTkyMyw4IEBAIHByb2plY3Qtc3dpdGNoLWNvbW1h bmRzCiAgICAgKHByb2plY3QtZmluZC1yZWdleHAgIkZpbmQgcmVnZXhwIikKICAgICAocHJv amVjdC1maW5kLWRpciAiRmluZCBkaXJlY3RvcnkiKQogICAgIChwcm9qZWN0LXZjLWRpciAi VkMtRGlyIikKLSAgICAocHJvamVjdC1lc2hlbGwgIkVzaGVsbCIpKQorICAgIChwcm9qZWN0 LWVzaGVsbCAiRXNoZWxsIikKKyAgICAocHJvamVjdC1hbnktY29tbWFuZCAiT3RoZXIiKSkK ICAgIkFsaXN0IG1hcHBpbmcgY29tbWFuZHMgdG8gZGVzY3JpcHRpb25zLgogVXNlZCBieSBg cHJvamVjdC1zd2l0Y2gtcHJvamVjdCcgdG8gY29uc3RydWN0IGEgZGlzcGF0Y2ggbWVudSBv ZgogY29tbWFuZHMgYXZhaWxhYmxlIHVwb24gXCJzd2l0Y2hpbmdcIiB0byBhbm90aGVyIHBy b2plY3QuCg== --------------RtqMHK0l4UL5ctmRBoCYbu60--