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