haskell / haskell/haskell-mode

flymake-proc Failed on Startup

Open
#1,848 0 comments 1 reaction 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.