[#2320] Problems in mathn, rational, complex, matrix — Gavin Sinclair <gsinclair@...>
I received a message from Richard Graham mentioning a problem in the
[#2346] Patch for socket.c: control reverse lookup for every instance — Thomas Uehlinger <uehli@...>
Hi all
[#2357] Use the BasicSocket#do_not_reverse_lookup flag in Webrick — Thomas Uehlinger <uehli@...>
Hi
[#2367] Standard libraries — Dave Thomas <dave@...>
From ruby-dev summary:
Hi,
Hi,
By the way, this issue is about a matter of taste, so the debate is somewhat
Hi,
On Thu, Feb 12, 2004 at 02:58:22PM +0900, NAKAMURA, Hiroshi wrote:
On Thursday, February 12, 2004, 8:18:32 PM, Mauricio wrote:
On Thursday 12 February 2004 04:37, Gavin Sinclair wrote:
On Friday, February 13, 2004, 12:44:15 AM, Sean wrote:
(Dave Thomas: there's a question for you in the second paragraph; if you're
[#2397] PATCH: deprecate cgi-lib, getopts, importenv, parsearg from standard library — Gavin Sinclair <gsinclair@...>
Index: cgi-lib.rb
* Gavin Sinclair (gsinclair@soyabean.com.au) wrote:
On Thursday, February 12, 2004, 11:39:37 PM, E wrote:
Hi,
Hi,
[#2422] Re: [ruby-cvs] ruby: * lib/ftools.rb: documented — "U.Nakamura" <usa@...>
Hello,
[#2449] make install not getting through rdoc phase — "David A. Black" <dblack@...>
Hi --
[#2465] PATCH: OpenStruct#initialize to yield self — Gavin Sinclair <gsinclair@...>
This is a common approach I use to object initialization; I don't know
On Fri, 20 Feb 2004 02:42:00 +0900, Dave Thomas wrote:
> > As more general suggestion. Could 'new' yield the new object is a block
On Fri, 20 Feb 2004 08:24:31 +0900, Carlos wrote:
Hi,
Yukihiro Matsumoto wrote:
On Feb 20, 2004, at 4:33 PM, Joel VanderWerf wrote:
[#2494] rehash segfault — Nathaniel Talbott <nathaniel@...>
I don't have a lot of information on this bug at this point, but
Hi,
On Wed, Feb 25, 2004 at 03:30:54AM +0900, Yukihiro Matsumoto wrote:
[#2504] foldl and foldr — "Sean E. Russell" <ser@...>
Sorry if I'm opening old wounds; I have a hard time believing that nobody has
Re: [PATCH] Persistent IRB history
Hi,
At Sat, 7 Feb 2004 03:15:37 +0900,
Thomas Uehlinger wrote in [ruby-core:02352]:
> I found persistent Readline history (i.e. saved to a hidden
> file in the users home directory) a pretty useful feature in
> other applicatons.
> So here is a patch for IRB so the history gets automatically
> saved to ~/.irb_history and will be loaded next time IRB is
> used.
Sounds nice, but I guess it would be better if configurable.
Index: lib/irb/init.rb
===================================================================
RCS file: /cvs/ruby/src/ruby/lib/irb/init.rb,v
retrieving revision 1.6
diff -u -2 -p -d -r1.6 init.rb
--- lib/irb/init.rb 22 Nov 2002 05:10:42 -0000 1.6
+++ lib/irb/init.rb 7 Feb 2004 01:31:17 -0000
@@ -181,15 +181,18 @@ module IRB
end
+ # enumerate possible rc files
+ def IRB.rc_files(rc)
+ yield File.expand_path("~/.irb#{rc}") if ENV.key?("HOME")
+ yield ".irb#{rc}"
+ yield "irb#{rc.sub(/\A_?/, '.')}"
+ yield "_irb#{rc}"
+ yield "$irb#{rc}"
+ end
+
# running config
def IRB.run_config
if @CONF[:RC]
- rcs = []
- rcs.push File.expand_path("~/.irbrc") if ENV.key?("HOME")
- rcs.push ".irbrc"
- rcs.push "irb.rc"
- rcs.push "_irbrc"
- rcs.push "$irbrc"
catch(:EXIT) do
- for rc in rcs
+ rc_files("rc") do |rc|
begin
load rc
Index: lib/irb/input-method.rb
===================================================================
RCS file: /cvs/ruby/src/ruby/lib/irb/input-method.rb,v
retrieving revision 1.4
diff -u -2 -p -d -r1.4 input-method.rb
--- lib/irb/input-method.rb 23 Mar 2003 17:58:43 -0000 1.4
+++ lib/irb/input-method.rb 7 Feb 2004 01:55:54 -0000
@@ -86,4 +86,21 @@ module IRB
class ReadlineInputMethod < InputMethod
include Readline
+
+ def ReadlineInputMethod.create_finalizer(hist, file)
+ proc do
+ if num = IRB.conf[:SAVE_HISTORY] and (num = num.to_i) > 0
+ if hf = IRB.conf[:HISTORY_FILE]
+ file = File.expand_path(hf)
+ end
+ if file
+ open(file, 'w' ) do |f|
+ hist = hist.to_a
+ f.puts(hist[-num..-1] || hist)
+ end
+ end
+ end
+ end
+ end
+
def initialize
super
@@ -92,4 +109,24 @@ module IRB
@line = []
@eof = false
+
+ loader = proc {|f| f.each {|l| HISTORY << l.chomp}}
+ if hist = IRB.conf[:HISTORY_FILE]
+ hist = File.expand_path(hist)
+ begin
+ open(hist, &loader)
+ rescue
+ end
+ else
+ IRB.rc_files("_history") do |hist|
+ begin
+ open(hist, &loader)
+ rescue
+ hist = nil
+ else
+ break
+ end
+ end
+ end
+ ObjectSpace.define_finalizer(self, ReadlineInputMethod.create_finalizer(HISTORY, hist))
end
--
Nobu Nakada