haskell / haskell/haskell-mode
flymake-proc Failed on Startup
- Dominant language
- Emacs Lisp
- Stars
- 1.4k
- Forks
- 354
- Avg merge
- 5d 10h
- Merged PRs (30d)
- 2
Description
# Problem Description
I opened a Haskell file and got this in my `*Flymake Log*` buffer: (`SimpleIOCommand.hs` is the file I opened)
```
⛔ Error [flymake-proc SimpleIOCommand.hs]: init function haskell-flymake-init for /home/lemon/Projects/Scripts/SimpleIOCommand.hs failed, cleaning up
```
I realized this error log because in the mode line, the Flymake minor mode always display `Wait`. Like the following:
```
Flymake:Wait[0 0 0]
```
# Flymake Backend (On Start up):
```
Disabled backends:
Running backends: flymake-proc-legacy-flymake, lsp-diagnostics--flymake-backend
Reporting backends: lsp-diagnostics--flymake-backend
```
# Misc
## Trying`'flymake-diagnostic-functions`, Disabling Legacy
I have seen issue with disabling `flymake-proc-legacy-flymake`.
I have found that if I add the line
```lisp
(remove-hook 'flymake-diagnostic-functions 'flymake-proc-legacy-flymake)
```
into my `.emacs` config file, evaluation `.emacs`, then immediately open a Haskell file, the `Wait` will temporarily disappear.
However, the `Wait` will return immediately after any edit to the file.
If I evaluate the line, my flymake backend status becomes the following:
```
Disabled backends:
Running backends: lsp-diagnostics--flymake-backend
Reporting backends:
```
## Other
- It seems `lsp-diagnostics--flymake-backend` also stops reporting after any editing
- My syntax check still works
- My `C-c C-l` REPL still works
Contributor guide
Research direction
Reproduce the problem by opening a Haskell file and inspecting the *Flymake Log* and backend status after editing. Compare the behavior with flymake-proc-legacy-flymake removed from flymake-diagnostic-functions, then trace how lsp-diagnostics--flymake-backend handles edits. Done means Flymake leaves the Wait state and diagnostics continue reporting after changes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- emacs, emacs-lisp, haskell
- Domain
- developer-experience, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100