Bug #3428: ri outputs ansi escape sequences even when stdout is not a tty
http://redmine.ruby-lang.org/issues/show/3428

Author: caleb clausen
Status: Open, Priority: Normal
Category: lib
ruby -v: ruby 1.9.3dev (2010-06-11 trunk 28269) [i686-linux]

ri should only use ansi escape sequences if explicitly asked for or if stdout is known to be a tty. Otherwise, ugliness will occur when piping ri's output to something else. For instance, here are the first few lines displayed when I type "ri exec|less":

ESC[0mESC[1;32m.execESC[m

(from ruby core)
ESC[32mImplementation from KernelESC[m
------------------------------------------------------------------------------
  exec([env,] command... [,options])


----------------------------------------
http://redmine.ruby-lang.org