On my mac, I have
$EDITOR set to
If I run my shell session under tmux, it opens the editor fine, but the command on the terminal never exits. However, this works fine on a terminal by itself, and also under screen, so it could be a tmux bug.
The solution to this problem lies in installing tmux MacOSX pasteboard, as pointed out by Daniel Beck in a comment above. Most of the explanation about this can be found is the second comment above, which I reproduce here for clarity:
The “plugin” is not actually specific to pasteboard access (despite the repository name I used to publish it). The problem arises due to the way OS X handles a specific bit of novel process-associated state (the “bootstrap namespace”) that is not present on other Unix-y systems. If OS X provided documented, public APIs for managing a process’s bootstrap namespace, then I would not hesitate to recommend (or even write) a patch to osdep-darwin.c. However, since the required function is undocumented and “private”, I have avoided recommending any changes to tmux itself.
So I decided to finally post it as the answer, although I'm not who devise it originally. Kudos for Daniel for pointing it out, and to Chris Johnsen for writing this fix for tmux on Mac OS X.