From: Gordon Thiesfeld Date: 2008-02-21T02:44:47+09:00 Subject: Kernel#putc vs. $stdout#putc 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. I'm trying to redefine putc in the Win32::Console::ANSI::IO object (in the win32console gem), so that it buffers ANSI escape sequences and passes them as a single unit. In order for this to work, I'll have to redefine Kernel#putc to use Win32::Console::ANSI::IO#putc like this: module Kernel def putc(int) $stdout.putc(int) end end Does anyone see a reason why this would be a bad idea? If so, any other solutions? Thanks, Gordon