Closed maruks closed 4 years ago
Hello Maris,
Maris Orbidans notifications@github.com writes:
see this: flymake/emacs-flymake#32
Sorry, but I ask you to take the effort to explain what is your problem, instead of sending me somewhere else. Explain in terms of the Eglot program, which is where you are reporting the bug to. See the "Reporting bugs" section in the README.md file, particularly point 3.
Your flymake version doesn't have flymake-run-in-place
I don't understand what "my version" is and how that would help anything, because I don't know what your problem is. I don't know what flymake-run-in-place is or what it would fix.
Thank you, João
Flymake creates temp files in project directory. It is a huge problem because it breaks compilation.
There is this setting in flymake which prevents it: flymake-run-in-place
But flymake version "1.0.8" doesn't have flymake-run-in-place.
Is there any other way to disable creation of temp files in project directory?
Flymake creates temp files in project directory.
Do you understand that your sending this bug report to the Eglot repository? Can you explain what you are doing with Eglot that is creating this huge problem?
See this please: https://github.com/joaotavora/eglot#reporting-bugs
Basically, to be able to help you, we need to understand what software you are running. So you need to read particularly point 3 of the aforementioned link and explain clearly what you are trying to do.
The problem likely lies in your configuration, or in some detail that you are not
There is this setting in flymake which prevents it: flymake-run-in-place
The file you point to is NOT the official Flymake, it is a fork started somewhere in 2011 and which isn't updated since 2013. There is not and there hasn't ever been an option called flymake-run-in-place
in the official Flymake distributed with GNU Emacs.
Is there any other way to disable creation of temp files in project directory?
Again, I don't know what you are trying to do, but Eglot's use of Flymake does NOT do this. You may be somehow giving other uses to Flymake.
@maruks Even in the absence of more information, I am convinced you are using the so-called "legacy Flymake" backend, so called flymake-proc-legacy-flymake
, which you should disable with:
(remove-hook 'flymake-diagnostic-functions 'flymake-proc-legacy-flymake)
Somewhere in your configuration.
It is somehow "kicking in" you Haskell files along with Eglot's use of Flymake. Maybe Eglot should be even more careful and don't allow any but its own backend to run.
If I open a haskell file and start eglot then it always creates temporary flymake file.
This didn't help: (remove-hook 'flymake-diagnostic-functions 'flymake-proc-legacy-flymake)
I use Emacs 26.3 with these packages:
flymake 1.0.8 installed A universal on-the-fly syntax checker eglot 20200531.1058 dependency Client for Language Server Protocol (LSP) flymake 0.3 built-in A universal on-the-fly syntax checker flymake-proc 0.3 built-in Flymake backend for external tools
Ok we're getting somwhere. But now, do you know that Emacs has something called a "user configuration file"? Do you know where yours is? Can you move it out of the way, start Emacs without it and then show me exactly the steps you do? Thank you very much.
ok, with empty config file and only few packages (haskell and eglot) installed this doesn't happen.
I couldn't find why it happens with my config.
I couldn't find why it happens with my config.
Right. So we're making progress.
A good way to start tracking down the problem is to bisect your config file. Start Emacs with half you config file. If the problem happens you know it's in that half, otherwise it's in the other half. Proceed in this manner until you discover the problematic spot in your config.
This appears to be related to a bug in haskell-mode: https://github.com/haskell/haskell-mode/issues/1704
See the applied fix there.
Eglot uses flymake version "1.0.8" which creates temporary haskell files in source directory.
see this: https://github.com/flymake/emacs-flymake/issues/32
Your flymake version doesn't have flymake-run-in-place