Subject: Re: bug#63648: 29.0.90; project.el: with switch-use-entire-map, switch-project errors on non-project commands

From: Juri Linkov <[email-masked]>
Date: Mon, 06 Nov 2023 09:16:01 +0200

>> I proposed a new option project-switch-use-global-map.
>
> I didn't know how the reconcile the existence of both
> project-switch-use-entire-map and project-switch-use-global-map. Saying in
> both docstrings that one takes priority over the other (and possibly
> repeating that in the doc for project-switch-commands) would be awkward.

Then another variant would be to allow a new value 'global'
in the existing 'project-switch-use-entire-map'.

>> But when project-switch-commands should be customized instead of new option,
>> then I'd prefer to use function names like `project-prefix-or-any-command'
>> instead of symbols `short-or-any' and `short-keys'.
>>
>>> Unifying all three alternatives in one option seems like the logical choice.
>> To avoid obsoleting `project-switch-use-entire-map', `short-keys'
>> could be removed.  Then `short-or-any' could be replaced by
>> `project-prefix-or-any-command'.  This will introduce minimal changes.
>
> All right, that sounds like a mix between v4 and v5.
>
> I've pushed 41e801fea1c to master, please take a look.

Thanks, I tested and it works great.

> In the future, perhaps we'd want to obsolete the option
> project-switch-use-entire-map anyway, replacing it with a separate command
> to be used in the same way as the newly-added one.  But for now the change
> is maximally backward-compatible.

Indeed, this is the safest change for now.  More changes either will
bring trouble to users requiring to migrate from the obsolete variable,
or will make code more complicated.