GNU bug report logs -
#63648
29.0.90; project.el: with switch-use-entire-map, switch-project errors on non-project commands
Previous Next
Reported by: Spencer Baugh <sbaugh <at> janestreet.com>
Date: Mon, 22 May 2023 16:29:02 UTC
Severity: normal
Found in version 29.0.90
Done: Dmitry Gutov <dmitry <at> gutov.dev>
Bug is archived. No further changes may be made.
Full log
Message #206 received at 63648 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi Juri,
On 22/09/2023 18:52, Juri Linkov wrote:
>>> Probably. Would you like to propose one? So that I have something to
>>> compare to, and have something specific to put to the vote as well.
>>
>> Ok, something like this:
>
> Here is a more tested patch. It supports these cases:
>
> (setq project-switch-use-entire-map t)
>
> C-x p p C-b - should not include current buffer in the list of another project (bug#58784)
> C-x p p f M-n - should fetch the right default file name (bug#58784, bug#63829)
> C-u C-x p p f emoji TAB - should include ignored emoji-labels.el (bug#63648)
> C-x p p C-x d - should visit another project's root (bug#63648)
>
> The same with frames:
>
> C-x 5 p p C-b
> C-x 5 p p f M-n
> C-u C-x 5 p p f emoji TAB - should not show completions in another frame (bug#65558)
> C-x 5 p p C-x d
Thank you. Especially for the list.
But I think we still haven't reached a decision whether the "loop until
correct key is pressed" behavior is useful.
I tried to think how to fit the above requirements into the existing
model, and it seems to require a new command, and an additional key
being pressed sometimes, for explicitness.
The attached patch also includes your fix for bug#65558, which seems
orthogonal to our dilemma, and could probably be installed separately.
It could be dry-ed up a little, though.
Anyway, with the attached counter-proposal, the list looks like this:
C-x p p C-b - works when project-switch-use-entire-map=t
C-x p p f M-n - always works
C-u C-x p p f - same
C-x p p C-x d - the key sequence is 'C-x p p o C-x d'
With frames:
C-x 5 p p C-b - works when project-switch-use-entire-map=t
C-x 5 p p f M-n - always works
C-u C-x 5 p p f emoji TAB - same (thanks to your fix, included)
C-x 5 p p C-x d - the key sequence is 'C-x 5 C-x p p o C-x d'
The user could add project-list-buffers (or project-switch-to-buffer) to
project-switch-commands, though, and then project-switch-use-entire-map
won't be needed. Either way's fine.
To sum up, that does require pressing an extra key to use commands
outside of project-prefix-map, but OTOH that key is shown right in the
commands menu. And one doesn't have to (setq
project-switch-use-entire-map t) to use it, though that doesn't hurt either.
And the meaning of project-switch-use-entire-map remains as it currently
is: expand the set of keys to the whole project-prefix-map, but not to
all local and global ones.
WDYT?
[project-other-command.diff (text/x-patch, attachment)]
This bug report was last modified 1 year and 200 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.