From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Juri Linkov 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 09:50:35 +0300 Organization: LINKOV.NET Message-ID: <86bkckwnf8.fsf@mail.linkov.net> 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> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="4038"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) Cc: Spencer Baugh , 63648@debbugs.gnu.org, sbaugh@catern.com To: Dmitry Gutov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri Oct 27 09:16:45 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 1qwH5J-0000vr-Lt for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 27 Oct 2023 09:16:45 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qwH56-0002bd-6G; Fri, 27 Oct 2023 03:16: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 1qwH55-0002WT-0T for bug-gnu-emacs@gnu.org; Fri, 27 Oct 2023 03:16: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 1qwH54-0000Cs-OD for bug-gnu-emacs@gnu.org; Fri, 27 Oct 2023 03:16:30 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qwH5Z-0005Ot-MO for bug-gnu-emacs@gnu.org; Fri, 27 Oct 2023 03:17:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 27 Oct 2023 07:17: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.169839099220703 (code B ref 63648); Fri, 27 Oct 2023 07:17:01 +0000 Original-Received: (at 63648) by debbugs.gnu.org; 27 Oct 2023 07:16:32 +0000 Original-Received: from localhost ([127.0.0.1]:34991 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qwH56-0005Nq-BQ for submit@debbugs.gnu.org; Fri, 27 Oct 2023 03:16:32 -0400 Original-Received: from relay1-d.mail.gandi.net ([217.70.183.193]:54147) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qwH54-0005NX-1i for 63648@debbugs.gnu.org; Fri, 27 Oct 2023 03:16:30 -0400 Original-Received: by mail.gandi.net (Postfix) with ESMTPSA id AA85E240004; Fri, 27 Oct 2023 07:15:50 +0000 (UTC) In-Reply-To: (Dmitry Gutov's message of "Thu, 26 Oct 2023 01:26:52 +0300") X-GND-Sasl: juri@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:273343 Archived-At: >>> + ;; 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'? > 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. > 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.