I must be missing something stupid! It works fine when I use the -m option.
$ echo $SVN_EDITOR
emacs
$ svn commit test.py
svn: Commit failed (details to follow):
svn: Could not use external editor to fetch log message; consider setting the $SVN_EDITOR envirionment variable or using the --message (-m) or --file (-F) options
svn: None of the environment variables SVN_EDITOR, VISUAL or EDITOR are set, and no 'editor-cmd' run-time configuration option was found