-
-
Notifications
You must be signed in to change notification settings - Fork 44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Popup stays open when switching windows #112
Comments
Popup stays open for me despite having, both in lsp-mode or geiser.
|
@aconchillo Your bug is probably a different bug. It sounds like an issue in your configuration. Can you reproduce this with a minimal recipe based on emacs -Q, with only a minimal set of packages loaded? |
@minad Yes, my bad. The problem was because I copy pasted this:
With this corfu doesn't quit when there's no match but I am sure there is more to tweak. Since I'm not sure I need orderless I just removed it and corfu quits as expected now. |
A little bit more info. If |
Is this issue still present? |
Yes, this happens mainly when invoking a command which switches the buffer after some time (run-ar-time). Then Corfu will not observe the switch and not close the popup. But it is a rare problem. |
Then Corfu can add some function to hooks like |
@AkibAzmain Yes of course. I just haven't done this until now since it happens only rarely. If you want you can create a PR which fixes this small issue. |
I won't try to implement this right now, because I have not completed paperwork yet, and maintaining a fork of a package requires simply too much effort (I'm already doing this for Eglot, see joaotavora/eglot#839). |
@AkibAzmain Is it possible for you and are you willing to complete the paperwork? |
Yes, I think, there is no legal problem. But I have some personal problems, preventing me from doing it now. |
Is there at least a function to remove the stale pop-up? It's kinda annoying when it weirdly floats around, e.g. when using tab-bar mode. |
@agzam When does the issue occur in your setup? Can you create a minimal recipe starting from emacs -Q? We can probably handle all these issues as described in #112 (comment). |
I mean aside from the issue, I'm sure there's some mechanism to remove the existing pop-up, right? What does corfu use? is it a posframe? I'm using GUI Emacs on Mac. Can I find it in within |
@agzam child frame. See corfu--frame. |
I'm sorry for not cooperating, I just re-installed my system anew and I'm still trying to restore things, I have not installed chemacs2 yet. Also, I switched to corfu just a few days ago and haven't had a chance to explore the code. And this issue is a tough one, it's not easily reproducible. It can happen often enough to feel annoying, but now I can eval It's not ideal but works most of the time. Sometimes though, it still leaves a blank artifact - a rectangle area that has nothing but still blocks the text behind it.
I think I'm gonna try to wrap it into a function and attach it to some hooks. |
@agzam In my setup, this problem occurs almost never. Corfu is quite solid overall. I would really need a recipe to reproduce the most common scenario, if we want this fixed. It could also be a Mac-specific issue. In that case, I cannot do anything about it without help since I don't have a Mac around. But I recommend switching to a free platform anyway. ;) |
Yes, this doesn't happen often, that's why it's difficult to reproduce.
Could be. Also, I'm using Emacs 29. With --native-comp flag. Any of these factors can contribute to the cause. That's why I'm hesitant on trying to repro it on emacs -q. See, I have never complained about the issue. For me, a function to remove all the corfu frames that I can bind to a key (at least for now) is quite sufficient.
I know, right? It's not up to me, though. Unfortunately, my employer, for a bunch of bureaucratic reasons, painted as "security", forces me to use a Mac. Anyway, apologies for the noise. And thank you for all the amazing work you do. I know, could be extremely frustrating, when someone complains about the work that you enthusiastically shared without asking for a single dime or any appreciation for it. But at this point you probably know, a lot of people in the Emacs community seriously love the completion stack you've created, and I am with them. You have my sincerest gratitude. |
Hi @minad I can reproduce this issue with the steps as below:
I am using Emacs 29.0.50, macOS 13.0.1 |
On 11/19/22 16:54, Eason Huang wrote:
I can reproduce this issue with the steps as below:
1. |emacs -q| to launch Emacs, and then install corfu |(package-install
'corfu)|
2. enable auto complete and set |(setq help-window-select t)|
|(global-corfu-mode 1) (setq corfu-auto t) (setq help-window-select t) |
3. Type some code in |*scrath*| buffer, until the candidate window pop
up, such as type |(mes|
4. C-h k and thenC-g , now you will see the issue as below picture.
I am using Emacs 29.0.50, macOS 13.0.1
I cannot reproduce in on Emacs 28, Linux/X11. This is either a 29
regression or a Mac issue. From my experience on the issue trackers,
Emacs on Mac has many issues.
|
I can not reproduce in Emacs 28.2 too, on macOS. |
Auto completion in scratch -> switch to eshell via C-c e.
The text was updated successfully, but these errors were encountered: