Allow multiple jshint-mode servers to run simultaneously (allows multiple emacs windows) #33
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The first flymake-jshint starts a server on the base port (3003), but subsequent windows (either in console or graphical mode) fail to enable flymake-jshint due to the port being already in use. Reusing the same server for all lint request would work only as long as the initial window is kept open (flymake processes are cleaned up on exit).
This pull request changes it so that each window starts its own server on the first available port in a range (3003 to 3100). At the time the node process is started in emacs, the port is not known, so there is a bit of emacs lisp code in there to extract the port from the subprocess' stdout. The end result is that multiple emacs windows open can all benefit from the syntax checking.
(heads up: the branch also has a commit to close issue #32)