Interesting.. I had never even considered the semantics of returning from a commit block. Maybe I was associating (confluencing) the atomicity of transactions with the execution of the block..
Anyway, i'll rewrite my code but I really think that "commit: [^foo]"
Ya know, you can do
^mySession commit: [ foo ]
and you get foo, so I guess you're saying you need to return from somewhere in the *middle* of the commit block..? I'm curious how you came to need this; guard clause?
It's probably easily fixed with an ensure: around the #commit. I'll try putting that in for the next release.
Thanks, Chris