Closed pdixon closed 9 years ago
Thank you for your report, I knew I would have to think about supporting some kind of status in irony-mode requests. It would be better to do this properly by supporting error on irony-server side (#157) and then allow an interrupted
status for callbacks that are out-of-date.
Then this could be mapped to flycheck statuses: http://flycheck.readthedocs.org/en/latest/dev/api.html#status-callback-protocol
This should be fixed now, hopefully flycheck-irony is reliable now.
I've been using flycheck-irony. Fairly regularly the checker seems to get stuck (i.e
FlyC*
showing in the mode-line, indicating a check is in progress). It seems to happen most often while I'm typing quickly, but I'm pretty sure I can also trigger it by saving the buffer while a check is in progress.I think the problem is in
irony-diagnostics--request-handler
.The
when
effectively checks that the current state of the buffer matches what it was when the request was started, if it isn't the nothing happens. Since flycheck requires the callback to be called at least once it just gets stuck.I've modified
irony-diagnostics--request-handler
to start another request if the buffer has changed since the last request has triggered. i.ewith this change in place I haven't managed to get flycheck stuck. Clearly this is a fairly brute force solution, but I'm not yet familiar enough with irony-mode or flycheck to come up with a more efficient approach.