[#4479] Requesting addition to IRB (configurable standard output) — Sascha Ebach <se@...>

Hello,

13 messages 2005/02/24
[#4482] Re: Requesting addition to IRB (configurable standard output) — Sam Roberts <sroberts@...> 2005/02/25

Quoting se@digitale-wertschoepfung.de, on Fri, Feb 25, 2005 at 01:22:34AM +0900:

[#4483] Re: Requesting addition to IRB (configurable standard output) — Eric Hodel <drbrain@...7.net> 2005/02/25

On 24 Feb 2005, at 19:51, Sam Roberts wrote:

[#4488] Re: Requesting addition to IRB (configurable standard output) — Sam Roberts <sroberts@...> 2005/02/26

Quoting drbrain@segment7.net, on Sat, Feb 26, 2005 at 02:43:31AM +0900:

[#4489] Re: Requesting addition to IRB (configurable standard output) — Eric Hodel <drbrain@...7.net> 2005/02/26

On 25 Feb 2005, at 16:03, Sam Roberts wrote:

[PATCH] add persistent history to irb

From: "David A. Black" <dblack@...>
Date: 2005-02-19 14:34:31 UTC
List: ruby-core #4448
Hi --

I've often wanted the up-arrow in irb to give me my history from the
previous session.  Well, now it does :-)  Patch follows, in the hope
that this (or equivalent) might make it into the real irb.


David


*** input-method.rb.orig	Sat Feb 19 09:21:08 2005
--- input-method.rb	Sat Feb 19 09:30:01 2005
***************
*** 91,101 ****
--- 91,118 ----
   	@line_no = 0
   	@line = []
   	@eof = false
+ 	h_file = "#{ENV["HOME"]}/.irb_history"
+ 	if test(?f,h_file)
+ 	  begin
+ 	    File.readlines(h_file).each {|x| HISTORY << x.chomp}
+ 	  rescue
+ 	    print "irb: warning: can't read #{h_file};" 
+ 	    puts "prior history will not be available"
+ 	  end
+ 	end
+ 	begin
+ 	  @h_file = File.open(h_file, "a")
+ 	rescue
+ 	  print "irb: warning: can't write to #{h_file};"
+ 	  puts "history will not be saved"
+ 	  @h_file = nil
+ 	end
         end

         def gets
   	if l = readline(@prompt, true)
   	  HISTORY.pop if l.empty?
+ 	  @h_file.puts(l) if @h_file
   	  @line[@line_no += 1] = l + "\n"
   	else
   	  @eof = true

In This Thread

Prev Next