sebastiencs / company-box

A company front-end with icons
563 stars 64 forks source link

company-box-frontend error Wrong type argument: frame-live-p #162

Open b40yd opened 3 years ago

b40yd commented 3 years ago

update cpmpany and company-box to latest, mouse move to other window, it' not work.

Company: frontend company-box-frontend error Wrong type argument: frame-live-p

Debugger entered--Lisp error: (wrong-type-argument frame-live-p #<dead frame 0000000016851430>) make-frame-invisible(#<dead frame 0000000016851430>) company-box-hide() company-box-frontend(hide) company-call-frontends(hide) company-cancel() company-quickhelp-hide() run-hooks(focus-out-hook) handle-focus-out((focus-out #<frame DotFairy Emacs - init-prog.el 0000000005017280>)) funcall-interactively(handle-focus-out (focus-out #<frame DotFairy Emacs - init-prog.el 0000000005017280>)) call-interactively(handle-focus-out nil [(focus-out #<frame DotFairy Emacs - init-prog.el 0000000005017280>)]) command-execute(handle-focus-out nil [(focus-out #<frame DotFairy Emacs - init-prog.el 0000000005017280>)] t)

patrolli commented 3 years ago

I have faced the same issue

patrolli commented 3 years ago

The error backtrace is: Debugger entered--Lisp error: (wrong-type-argument frame-live-p #<dead frame 0x6e81360>) make-frame-invisible(#<dead frame 0x6e81360>) company-box-doc--hide(#<frame Minibuf-1 --- 2021/4/29(14:53) 0x2939e90>) run-hook-with-args(company-box-doc--hide #<frame Minibuf-1 --- 2021/4/29(14:53) 0x2939e90>) company-box-hide() company-box-frontend(hide) company-call-frontends(hide) company-cancel() company-mode(toggle) funcall-interactively(company-mode toggle) call-interactively(company-mode record nil) command-execute(company-mode record) counsel-M-x-action("company-mode") ivy-call()

cjk commented 2 years ago

Yep, same here. It's hard to reproduce, only happening intermittently. Workaround is opening a new frame and closing the old one. But that is annoying of course.

dario-exads commented 1 year ago

Is there no solution for this? Or other workaround than creating a new frame?

sebastiencs commented 1 year ago

It should be fixed with https://github.com/sebastiencs/company-box/commit/4dc0d9841aca2437f68f07aa540a3fab365ecff1, could someone confirm ?

dario-exads commented 1 year ago

@sebastiencs Taking a look during the day. I'll report back 👍

dario-exads commented 1 year ago

Seem to be happening still:

Company: frontend company-box-frontend error "Wrong type argument: window-live-p, nil" on command show Although it says window-live-p, rather than frame-live-p.

Running latest release:

company-box 20220910.1354 installed Company front-end with icons

sebastiencs commented 1 year ago

@dario-exads Can you please enable the debugger (with M-x toggle-debug-on-error) and reproduce the bug. It will show a backtrace, can you share it here

dario-exads commented 1 year ago

@sebastiencs Done. I'll see if the error reproduces again. Yesterday I didn't encountered again after that first error 🤞 .

dario-exads commented 1 year ago

I faced the error again, I don't see the trace though:

Debug on Error enabled globally
Company: An error occurred in auto-begin
Company: frontend company-box-frontend error "Wrong type argument: window-live-p, nil" on command show

Am I missing something? I enabled debug on error with M-x toggle-debug-on-error but I just see the error message on the echo area.

In there any way I can see the source of this error?

sebastiencs commented 1 year ago

@dario-exads hmm weird, the backtrace should show up. Did you close/restart emacs after that M-x toggle-debug-on-error ?

Instead of calling toggle-debug-on-error, you can set (setq debug-on-error t) in your init.el

dario-exads commented 1 year ago

I'll set debug-on-error variable on my init, just to be sure :)

dario-exads commented 1 year ago

~I haven't seen the issue so far, at least no that I remember. I'd consider this issue solved from my side.~ Actually I found it again:

Company: An error occurred in auto-begin
Company: frontend company-box-frontend error "Wrong type argument: window-live-p, nil" on command show

There's no trace although I've the debug on error enabled :/

I'll double check but I think it happens (to me) when I have 2 (or more) frames open at the same time.

dario-exads commented 1 year ago

So, I don't see the error anymore but I also don't have completion. Definitely related to having two windows open.