technomancy/leiningen — pull request #1098 by mtopolnik (2013-03-24 18:12:43+00:00)
Title: Fix for Issue #1095

For :headless I simply changed from calling `server` to directly calling `start-server`, which is the one that calls `eval-in-project`. This makes it work for `trampoline` as well.

Now that I've done it (and it seems to work), I wonder whether there is really any need to involve `eval/prep-blocker` and `nrepl.ack/wait-for-ack` (which is what `start-server` does) in any scenario.

- `eval-in-project` synchronously calls `prep` so there's no need to synchronize via promise;
- I'm not sure exactly in what scenario `wait-for-ack` is called for, but our case doesn't seem to need it.

It would be great if someone else could confirm this because it could mean a great reduction in the complexity of the `repl` task.