On Oct 31, 2005, at 3:25 AM, Hardy Henneberg wrote:

> A great facility would also be to stream the lines in an IRB  
> session to a file.

My .irbrc saves my irb history to a file, among other things.  Maybe  
that would help.  Here's the file:

require 'irb/completion'
ARGV.concat [ "--readline" ]

if $0 == "irb"
   IRB.conf[:PROMPT_MODE] = :SIMPLE

   IRB.conf[:EVAL_HISTORY] = 1000
   IRB.conf[:SAVE_HISTORY] = 100

   HISTFILE = "~/.irb.hist"
   MAXHISTSIZE = 100

   begin
     if defined? Readline::HISTORY
       histfile = File::expand_path( HISTFILE )
       if File::exists?( histfile )
         lines = IO::readlines( histfile ).collect {|line| line.chomp}
         puts "Read %d saved history commands from %s." %
              [ lines.nitems, histfile ] if $DEBUG || $VERBOSE
         Readline::HISTORY.push( *lines )
       else
         puts "History file '%s' was empty or non-existant." %
              histfile if $DEBUG || $VERBOSE
       end

       Kernel::at_exit {
         lines = Readline::HISTORY.to_a.reverse.uniq.reverse
         lines = lines[ -MAXHISTSIZE, MAXHISTSIZE ] if lines.nitems >  
MAXHISTSIZE
         $stderr.puts "Saving %d history lines to %s." %
                      [ lines.length, histfile ] if $VERBOSE || $DEBUG
         File::open( histfile, File::WRONLY|File::CREAT|File::TRUNC )  
{|ofh|
           lines.each {|line| ofh.puts line }
         }
       }
     end
   end

   def ri(*names)
     system(%{ri #{names.map {|name| name.to_s}.join(" ")}})
   end
end

James Edward Gray II