Merge back on master, a few extra fixes I found during debugging. #7

Merged
20 commits merged into from Oct 28, 2010

Conversation

Projects
None yet
1 participant
Contributor

bscottm commented Oct 28, 2010

Hopefully, I've merged all of your latest commits and these are just my differences. This pull request should supersede my earlier one.

This is the result of merging my recent work on the exeFactories branch back onto my master.

We should probably sync our Eclipse style rules so that the whitespace changes are less significant.

Scott Michel added some commits Oct 21, 2010

interim_101022
Revamp scion command processing because JP runs into problems with thread
deadlocks and other anamolies (which is wierd, because I don't see anything
similar.)
Merge branch 'master' into exeFactories
Conflicts:
	net.sf.eclipsefp.haskell.scion.client/src/net/sf/eclipsefp/haskell/scion/internal/commands/ThingAtPointCommand.java
scionserver_101025
- Completely eliminate ICommandContinuation. We can do better
  with a list of Job classes instead of using an interface if we want
  to run something after a command receives a response.
- Add support for continuations that are based on the Eclipse Job
  class. Easier to debug because they show up in the Progress
  pane.
- Convert some of the current commands back to their original
  asynchronous form.
- Make sure that command processing is more robust than it was
  originally.
More stability fixes. This also has a built-in test case for sync
and async command processing. Successor command processing
is probably correct, but since this isn't actually used, it is untested.
Merge branch 'master' of http://github.com/JPMoresmau/eclipsefp into …
…exeFactories

Conflicts:
	net.sf.eclipsefp.haskell.scion.client/src/net/sf/eclipsefp/haskell/scion/internal/servers/ScionServer.java
	net.sf.eclipsefp.haskell.scion.client/src/net/sf/eclipsefp/haskell/scion/internal/servers/StdStreamScionServer.java
merge_101026
- Merge branch 'master' of http://github.com/JPMoresmau/eclipsefp into
  exeFactories, incorporate the OutputWriter code to prevent UI thread
  nastiness.

Conflicts:
	net.sf.eclipsefp.haskell.scion.client/src/net/sf/eclipsefp/haskell/scion/internal/servers/ScionServer.java
	net.sf.eclipsefp.haskell.scion.client/src/net/sf/eclipsefp/haskell/scion/internal/servers/StdStreamScionServer.java

- If scion-server returns an error, ensure that no further command
  processing is done. This prevents later NPEs.

- Move the code that sends a quit command to the scion-server into
  ScionServer so that we don't block indefinitely waiting for a
  response.
merge_101027
Merge branch 'master' of http://github.com/JPMoresmau/eclipsefp into exeFactories

Conflicts:
	net.sf.eclipsefp.haskell.scion.client/src/net/sf/eclipsefp/haskell/scion/client/ScionInstance.java
merge_101027_exeFactories
Merge branch 'exeFactories' of github:bscottm/eclipsefp into exeFactories

Conflicts:
	net.sf.eclipsefp.haskell.scion.client/src/net/sf/eclipsefp/haskell/scion/internal/servers/ScionServer.java
	net.sf.eclipsefp.haskell.scion.client/src/net/sf/eclipsefp/haskell/scion/internal/servers/StdStreamScionServer.java
scionserver_101027
Ensure that the command queue is emptied before taking any
actions during shutdown.
scionserver_101027a
Make the command queue monitor's output for a stalled queue more informative,
printing the commands and request ids that are stalled.

Also changed my mind regarding successor commands in buildProject(). Still
wondering why successor commands still need to exist if they're never used
and the program's control flow really determines what command is next
executed.
Scion/Cabal preference page and ScionManager fix
You would think that you could listen for preference changes, especially
when hierarchical preferences are all the rage. Evidently. But noooooh,
you can't. This makes it difficult to figure out whether the built-in
server needs rebuilding by listening for prefernce changes alone.

Forcibly ask ScionManager to check if all preconditions are met during
ScionPP.performOk().

Looks like the sucker finally works the way I want it to work.

This issue was closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment