That makes sense. I'll see if Paul is interested in collaborating formally before I re-implement the feature myself.
Here's a quick pass at a patch for this. virtualenv isn't loving my Homebrew config so this is thoroughly untested. The biggest issue I see is the lack of running deactivate hooks. I don't see a sure fire way to make sure they're run in the subshell before exiting, and running them in the control shell seems like it'd be ungood.
I don't see a button for attaching files so I'm gonna pray that one shows up after I click the submit button.
Based on a quick scan of manual pages this morning, it looks like the only portable way to ensure both a startup and teardown phase in all the supported shells (bash, sh, zsh, and soon ksh) would be to run 2 shells. Something like: