erikhuda/thor — pull request #362 by britto (2013-08-30 04:26:56+00:00)
Title: Make say and say_status thread safe.

The current `IO.puts` implementation makes two separate writes: one for the message and another for the newline character when necessary.

Having multiple threads calling `puts` can lead to interleaved messages and repeated newlines in the output.

This issue came to my attention when I tried out the new `bundler 1.4.0` with parallel installing support. It would print some messages like the following:

```console
$ bundle install -j4
Using json (1.8.0)
Using nokogiri (1.5.10)Using rspec-core (2.13.1)

Using rspec-mocks (2.13.1)
Using thor (0.18.1)
...
Your bundle is complete!
```