I finally able to fix the problem On Mon, Jul 26, 2004 at 07:08:57PM +0900, Zakaria wrote: [...] > The problem is in system("more < file"). I try similar thing with irb > ============================================================================= > irb(main):001:0> system "more < c:\autoexec.bat" > File not found > => true > ============================================================================= Silly me, I forgot to escape '\'. If i use system("more < c:\\autoexec.bat") everything will work as expected. The actual problem is: 1. The path is UNIX style which must be converted to DOS style before passed on to external program. 2. For some reason in Windows ME Tempfile is working intermittenly. As a workaround I unlink it after use and it always works. Here's the patch ============================================================================= --- ri_display.rb.orig 2004-03-25 22:31:10.000000000 +0700 +++ ri_display.rb 2004-07-26 22:34:26.000000000 +0700 @@ -210,7 +210,8 @@ require 'tempfile' @save_stdout = STDOUT.clone - STDOUT.reopen(Tempfile.new("ri_")) + @tempfile = Tempfile.new("ri_") + STDOUT.reopen(@tempfile) end end @@ -219,6 +220,7 @@ def page_output unless @options.use_stdout path = STDOUT.path + path = path.gsub(%{/}, '\\\\') if Config::CONFIG['arch'] =~ /mswin/ STDOUT.reopen(@save_stdout) @save_stdout = nil paged = false @@ -232,6 +234,16 @@ @options.use_stdout = true puts File.read(path) end + + retryctr = 0 + begin + retryctr += 1 + @tempfile.unlink + rescue + sleep 0.1 + retry if retryctr < 10 + end + @tempfile = nil end end ============================================================================= Dave, is the patch OK? Wassallam, -- Zakaria z4k4ri4 / bigfoot.com Yahoo!: z4k4ri4 http://zakaria.is-a-geek.org http://pemula.linux.or.id