------ art_666_6903788.1203558875623 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi: On Thu, Feb 21, 2008 at 4:44 AM, Gordon Thiesfeld <gthiesfeld / gmail.com> wrote: > I was under the impression that Kernel#putc was an alias, or wrapper > around $stdout#putc, but I was mistaken. It turns out they're both > implemented separately in C, and both pass to $stdout.write. Not quite: static VALUE rb_f_putc(VALUE recv, VALUE ch) { return rb_io_putc(rb_stdout, ch); } Kernel#putc here passes to IO#putc anyway, which then (as you mention) uses IO#write. > Gordon > Arlen ------ art_666_6903788.1203558875623--