When I try to edit the buffer in an external editor on a Mac, it just goes off into space and never returns:
Groovy Shell (1.5.0, JVM: 1.5.0_13-119)
Type 'help' or '\h' for help.
---------------------------------------------------------------------------------------------------------------------------------------------------------------
groovy:000> set verbosity DEBUG
groovy:000> class Foo {
DEBUG [org.codehaus.groovy.tools.shell.InteractiveShellRunner] Read line: class Foo {
DEBUG [org.codehaus.groovy.tools.shell.Groovysh] Parsing: class Foo {
DEBUG [org.codehaus.groovy.tools.shell.Groovysh] Parse incomplete
groovy:001> def bar
DEBUG [org.codehaus.groovy.tools.shell.InteractiveShellRunner] Read line: def bar
DEBUG [org.codehaus.groovy.tools.shell.Groovysh] Parsing: class Foo {
def bar
DEBUG [org.codehaus.groovy.tools.shell.Groovysh] Parse incomplete
groovy:002> }
DEBUG [org.codehaus.groovy.tools.shell.InteractiveShellRunner] Read line: }
DEBUG [org.codehaus.groovy.tools.shell.Groovysh] Parsing: class Foo {
def bar
}
DEBUG [org.codehaus.groovy.tools.shell.Groovysh] Parse complete
DEBUG [org.codehaus.groovy.tools.shell.Groovysh] Evaluating buffer...
DEBUG [org.codehaus.groovy.tools.shell.Groovysh] Compiled script: groovysh_evaluate@eb41e5
DEBUG [org.codehaus.groovy.tools.shell.Groovysh] Evaluation result: true (class java.lang.Boolean)
===> true
groovy:000> display
DEBUG [org.codehaus.groovy.tools.shell.InteractiveShellRunner] Read line: display
DEBUG [org.codehaus.groovy.tools.shell.Groovysh] Executing command(display): org.codehaus.groovy.tools.shell.commands.DisplayCommand@b9dc79; w/args: []
Buffer is empty
DEBUG [org.codehaus.groovy.tools.shell.Groovysh] Result: null
groovy:000> edit
DEBUG [org.codehaus.groovy.tools.shell.InteractiveShellRunner] Read line: edit
DEBUG [org.codehaus.groovy.tools.shell.Groovysh] Executing command(edit): org.codehaus.groovy.tools.shell.commands.EditCommand@dc3491; w/args: []
DEBUG [org.codehaus.groovy.tools.shell.commands.EditCommand.edit] Executing: vi /tmp/groovysh-buffer9051.groovy
DEBUG [org.codehaus.groovy.tools.shell.commands.EditCommand.edit] Waiting for process: java.lang.UNIXProcess@ff557a
export EDITOR="mate -w"
And with this, using the edit command does launch a new TextMate window, waits for it to close and then fills the buffer properly from the tmp file it creates...
I do however get the same behavior you see when EDITOR="vi", dunno why...