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
Auto save on completion is annoying #87
Comments
I ran into the same problem with the exact same situation. Even worse, company's idle-time popup does not appear, probably buried immediately when the file is auto-saved by dante. When I remove |
This is a result of Dante not using temp files when it loads the current buffer into ghci: this was changed in 9955cd1 in Aug 2018. The consequence is that Dante eagerly saves the buffer whenever it makes backend requests, including for completion and flycheck etc., and it does so while suppressing any normal after-save hooks (see #84), which can cause things like I'm keen to help get this fixed - I fixed it in Intero ages ago - but I'm hesitant to dive in without an understanding of the rationale behind 9955cd1. It's presumably something about handling of Tramp files but I couldn't find any specific issue to which the commit related. |
Also related:
(My motivation here is to be able to use Dante more fully as an Intero replacement in order to avoid needing the intero backend. Dante mostly does the job for me, modulo these issues.) |
Should be fixed by c7d7070 |
It doesn't seem like this plays nicely if you clone an indirect buffer, in which case, I start getting prompted:
Basically, it seems that both the indirect buffer and the original buffer are attempting to write to the same temp. file: by the time one of the buffers wants to write to the file, its contents have changed. |
I do not know what "cloning an indirect buffer" is. Could you point to relevant documentation? |
@jyp as I understand it, it reopens what emacs calls an indirect buffer and can be invoked with
I don't know much about Dante internals to see why this causes issues but I'd gladly help further if I can. However, this is a minor issue for me. And I'd also like to thank you for Dante, it is one Emacs integration that just works in my experience. |
I have
company-idle-delay
set to a very short delay (0.1 seconds) to get completion as quickly as possible. Unfortunately, dante auto saves the buffer every time company is triggered, which is visually annoying (mode-line flicker, messages) and also increases input latency.On the other hand I would be totally happy with completion based on the last saved state, it's (despite my efforts) unlikely for new exported symbols to appear in a syntactically correct buffer every 0.1 seconds.
Note that I wouldn't even need auto save for flycheck, because I have
flycheck-check-syntax-automatically
set to(save mode-enabled)
.The text was updated successfully, but these errors were encountered: