Details
Description
The DefaultGroovyMethods:
print(Object)
println(Object)
print(Object, Object)
println(Object, Object)
all will create a PrintWriter and then do a Writer.close() if self is a Writer. That will close the underlying writer, which is definitely the wrong thing.
The correct behavior is to do a flush().
It is easy to see that flushing rather than closing is the right thing by looking at what happens if self is not a Writer. In that case System.out.print(ln) is called and System.out is not closed.
Fix committed - http://fisheye.codehaus.org/changelog/groovy/?cs=14638 + http://fisheye.codehaus.org/changelog/groovy/?cs=14639
Will merge to 1.5 and 1.6 if no objection.