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: Fri, 27 Oct 2023 12:38:50 +0300 Message-ID: References: <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> <56909bdd-14ee-f68c-178f-5057efcd6150@gutov.dev> <86wmva7iey.fsf@mail.linkov.net> <86bkckwnf8.fsf@mail.linkov.net> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="28964"; 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 Fri Oct 27 11:39:46 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 1qwJJh-0007EZ-Hz for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 27 Oct 2023 11:39:46 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qwJJU-0007uB-6x; Fri, 27 Oct 2023 05:39:32 -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 1qwJJT-0007t2-C6 for bug-gnu-emacs@gnu.org; Fri, 27 Oct 2023 05:39:31 -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 1qwJJT-00031f-3Z for bug-gnu-emacs@gnu.org; Fri, 27 Oct 2023 05:39:31 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qwJJy-0000pB-0e for bug-gnu-emacs@gnu.org; Fri, 27 Oct 2023 05:40: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: Fri, 27 Oct 2023 09:40:01 +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.16983995763126 (code B ref 63648); Fri, 27 Oct 2023 09:40:01 +0000 Original-Received: (at 63648) by debbugs.gnu.org; 27 Oct 2023 09:39:36 +0000 Original-Received: from localhost ([127.0.0.1]:35087 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qwJJY-0000oM-0i for submit@debbugs.gnu.org; Fri, 27 Oct 2023 05:39:36 -0400 Original-Received: from wout3-smtp.messagingengine.com ([64.147.123.19]:34749) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qwJJU-0000o6-3b for 63648@debbugs.gnu.org; Fri, 27 Oct 2023 05:39:34 -0400 Original-Received: from compute6.internal (compute6.nyi.internal [10.202.2.47]) by mailout.west.internal (Postfix) with ESMTP id 35A353200970; Fri, 27 Oct 2023 05:38:54 -0400 (EDT) Original-Received: from mailfrontend2 ([10.202.2.163]) by compute6.internal (MEProxy); Fri, 27 Oct 2023 05:38:54 -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:sender:subject:subject:to:to; s=fm2; t= 1698399533; x=1698485933; bh=0i306tuYDeSU2jeA/ggD7d8irSJzPaWZ7XH vbZdQx7o=; b=pPPIVhE/wUowPnGo4S1ttg6/W7QZ3zvfun5m4cXVUTuUO+32V7Y aGLYzx0vEqZ5MpX/TS8vh7+kb1AwysY6b9zi0RakVjUCKMf1gL3vq5N0efN4LW1L 8qud29lnH8R8wqcyAFR0Oh/tSQc3hPdBvStVPO+lxyc4AlqIElppIBc0JMesi/a0 6jeN8KD7a/6iZzOiSGKicUw9sajD6yi11INofDo8ynd8+7V4yRj8hFoEdtNvyBMl 5rV88JgnoVVfyleRMMsTU4W/CR0UA25Ip6+aATpMANacucHT0xGKskucnTwzL/0a 0zlYbK6a/Xri32EMMcvTams5nXI7htkZdJA== 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:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t= 1698399533; x=1698485933; bh=0i306tuYDeSU2jeA/ggD7d8irSJzPaWZ7XH vbZdQx7o=; b=eDz03z8LSKdR5JbSdS+DEc5C4YgymQIilG/IYR0lpf4vRteU0tr dmMqMkXsWJHlTnHAjha3L9Yx26GaXihkUjmh6Dom2e0EgmCuonlNY6ZMBsCQQ1TY lav2ugQGWdYD8uIM1NirNICgHfxEf6+X/ISSPEi44TWo98TiEwzFrUXDu3qBc5uN CF5fuz8Xw6pcDOltUHYkN9EE7dd+XpUS76MxAkrgo1aTxP/HldNtpcg1r6WrETC8 XLtleZZIeCtcw5Uj5MXOrpuPVL4fr/g3ks7bkHyJTNWhveEWmMm17y0c3jYHKK53 ghBi4s8XP8YwHzguGWhzzMyBsVzhEeZ9/DA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrleeggddukecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefkffggfgfuvfevfhfhjggtgfesthejredttdefjeenucfhrhhomhepffhmihht rhihucfiuhhtohhvuceoughmihhtrhihsehguhhtohhvrdguvghvqeenucggtffrrghtth gvrhhnpeeigfetveehveevffehledtueekieeikeeufeegudfgfeeghfdulefgfeevledv veenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegumh hithhrhiesghhuthhovhdruggvvh X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Original-Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 27 Oct 2023 05:38:52 -0400 (EDT) Content-Language: en-US In-Reply-To: <86bkckwnf8.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:273355 Archived-At: On 27/10/2023 09:50, Juri Linkov wrote: >>>> + ;; Variation: could be a separate command, or an option. >>>> + ;; (command (let ((overriding-local-map project-prefix-map)) >>>> + ;; (key-binding (read-key-sequence >>>> + ;; (format "[execute in %s]:" (project-root pr))) >>>> + ;; t))) >>> Thanks, it works nicely. >>> Any reason not to use this by default? >> >> Nothing critical, but it might not fit the expectations without additional >> instructions in the prompt, or it can be unnecessary if the user had >> reached this command through 'C-x p o'. > > Indeed, this is needed only for 'C-x p p' that supports the global map. > >> In the latter case there is also a small chance that the user had set up >> some advanced sub-maps inside project-prefix-map which would shadow some >> global bindings. So maybe a separate command is best. Please see how you >> like the attached new version together with >> >> (setq project-switch-commands #'project-prefix-or-any-command) > > A separate command that is not used anywhere looks strange. > Why not a simple option like 'project-switch-use-entire-map'? You would still need to change project-switch-commands, right? Or what would the option be called? >> I'm not sure about project-prefix-or-any-command's prompt, though (phrasing >> feels awkward). Improvements welcome. > > I'm not a fan of the long prompt especially that wraps to the second line. It didn't wrap for me. But if it's too long, how would you like it changed? Remove everything? Just keep [executing in ...]? >> BTW, let me know if you prefer the "prefix command" style from your last >> patch for this command. My main sticking point with it was the change of >> logic used to indicate a different project root, but it can just as well be >> transplanted there. So if the prefix command approach is better for some >> scenarios, we can switch to it. > > Also I'm not a fan of ad-hoc reimplementation of the command loop > with read-key-sequence and call-interactively. In my last patch > this is avoided by using post-command-hook and set-transient-map. > OTOH, since migrating from the former to the latter makes code > more complicated, I'm fine with dropping my last patch as long as > the former still can do everything that was supported by the latter. It shouldn't be hard to migrate in either direction, as long as the logic to choose which variable to modify is the same. This approach (with read-key-sequence, etc) looks a little shorter, but if any problems crop up, this is changeable.