bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#70577: [PATCH] New command other-project-prefix


From: Dmitry Gutov
Subject: bug#70577: [PATCH] New command other-project-prefix
Date: Tue, 21 May 2024 23:16:55 +0300
User-agent: Mozilla Thunderbird

On 21/05/2024 09:08, Juri Linkov wrote:
Here's a patch using symbol properties that makes the prefix commands work
combined in arbitrary order. At least according to my limited testing - and
only the commands that have this property set, of course.

This works until I moved project-prompter to the beginning,
then 'C-x 5 p p' doesn't work with this:

   (letrec ((root (funcall project-prompter))
            (depth (minibuffer-depth))
            (echofun (lambda () "[switch-project]"))
            (around-fun

Maybe there is a better place?

Last I checked, the project-prompter can change the value of this-command.

Perhaps you can try a let-binding for this-command around the call to project-prompter, so that it's restored at the end.

Something to also be concerned about is having any of the display-buffer modifications, or other-project advices, get applied to one of the commands inside the project-prompter UI (if it's implemented using a sequence of commands). Perhaps I haven't triggered this case mostly by luck so far. How to guard against that? Maybe a dynamic variable of some sort. But then it'd also have to be checked uniformly in all such functions (hooks that prefix commands install).

Something to discuss:
- A better name for the property? Maybe something longer would be more
   obvious for an accidental reader.

If it makes sense to use it outside of project.el
then 'prefix-command' is fine.

- Applying it through 'declare' forms could be a more self-contained
   approach.

This could be added later as well.






reply via email to

[Prev in Thread] Current Thread [Next in Thread]