diff -ur rubyscript2exe-0.4.1.tar.gz/rubyscript2exe/CHANGELOG rubyscript2exe-0.4.2.tar.gz/rubyscript2exe/CHANGELOG
--- rubyscript2exe-0.4.1.tar.gz/rubyscript2exe/CHANGELOG	2005-12-03 14:25:38.000000000 +0100
+++ rubyscript2exe-0.4.2.tar.gz/rubyscript2exe/CHANGELOG	2006-03-08 17:57:17.000000000 +0100
@@ -1,5 +1,22 @@
 ----------------------------------------------------------------
 
+0.4.2 - 08.03.2006
+
+* Got rid of warning "Insecure world writable dir".
+
+* Fixed a bug concerning parameters with quotes and other
+  escapable characters.
+
+* Fixed a bug concerning "Too many open files".
+
+* Fixed a bug concerning spaced parameters on Linux and Darwin.
+
+* More DLL's are found and embedded.
+
+* AllInOneRuby and RubyScript2Exe now work together.
+
+----------------------------------------------------------------
+
 0.4.1 - 03.12.2005
 
 * Fixed a bug concerning multiline parameters.
diff -ur rubyscript2exe-0.4.1.tar.gz/rubyscript2exe/eee.pas rubyscript2exe-0.4.2.tar.gz/rubyscript2exe/eee.pas
--- rubyscript2exe-0.4.1.tar.gz/rubyscript2exe/eee.pas	2005-12-03 14:29:03.000000000 +0100
+++ rubyscript2exe-0.4.2.tar.gz/rubyscript2exe/eee.pas	2006-03-08 18:29:17.000000000 +0100
@@ -54,6 +54,7 @@
   teller	: longint;
   parms		: string;
   quotedparms	: string;
+  parmslist	: string;
   justextract	: boolean;
   list		: boolean;
   info		: boolean;
@@ -796,6 +797,7 @@
   writeln(infofile, 'EEE_TEMPDIR='	+ tempdir);
   writeln(infofile, 'EEE_PARMS='	+ parms);
   writeln(infofile, 'EEE_QUOTEDPARMS='	+ quotedparms);
+  writeln(infofile, 'EEE_PARMSLIST='	+ parmslist);
 
   close(infofile);
 
@@ -843,6 +845,7 @@
 
     tekst2	:= AnsiReplaceStr(tekst2, '%parms%', parms);
     tekst2	:= AnsiReplaceStr(tekst2, '%quotedparms%', quotedparms);
+    tekst2	:= AnsiReplaceStr(tekst2, '%parmslist%', parmslist);
     tekst2	:= AnsiReplaceStr(tekst2, '%orgdir%', orgdir);
     tekst2	:= AnsiReplaceStr(tekst2, '%tempdir%', tempdir);
     tekst2	:= AnsiReplaceStr(tekst2, '%tempdir1%', workdir1);
@@ -1035,6 +1038,7 @@
 
   parms		:= '';
   quotedparms	:= '';
+  parmslist	:= '';
   for teller := 1 to paramcount do begin
     if (paramstr(teller) = '--eee-justextract') then begin
       justextract	:= true;
@@ -1048,13 +1052,15 @@
       info		:= true;
     end;
 
-    if ((parms = '') and (quotedparms = '')) then begin
+    if ((parms = '') and (quotedparms = '') and (parmslist = '')) then begin
       parms		:= paramstr(teller);
       quotedparms	:= '''' + paramstr(teller) + '''';
+      parmslist		:= paramstr(teller) + #0;
     end
     else begin
       parms		:= parms + ' ' + paramstr(teller);
       quotedparms	:= quotedparms + ' ''' + paramstr(teller) + '''';
+      parmslist		:= parmslist + paramstr(teller) + #0;
     end;
   end;
 
diff -ur rubyscript2exe-0.4.1.tar.gz/rubyscript2exe/ev/dependencies.rb rubyscript2exe-0.4.2.tar.gz/rubyscript2exe/ev/dependencies.rb
--- rubyscript2exe-0.4.1.tar.gz/rubyscript2exe/ev/dependencies.rb	2005-12-03 14:29:03.000000000 +0100
+++ rubyscript2exe-0.4.2.tar.gz/rubyscript2exe/ev/dependencies.rb	2006-03-08 18:29:17.000000000 +0100
@@ -1,27 +1,47 @@
-def dlls(file, path=File.dirname(file))
+def dlls(file)
 
-	# Only the dependencies in the same directory as the executable or the given directory.
+	# Only the dependencies in the same directory as the executable or any non-Windows directory in %PATH%.
 
   todo		= []
   res		= []
 
   todo << File.expand_path(file)
 
+  paden	= ENV["PATH"].split(/;/)
+  paden	= ENV["PATH"].split(/:/)	if paden.length == 1
+
+  paden << File.dirname(file)
+
+  windir1	= (ENV["WINDIR"] || "").gsub(/\\/, "/").downcase
+  drive		= windir1.scan(/^(.):/).shift.shift
+  windir2	= windir1.sub(/^#{drive}:/, "/cygdrive/#{drive.downcase}")
+
+  paden	= paden.collect{|pad| pad.gsub(/\\/, "/").downcase}
+  paden	= paden.select{|pad| pad.downcase}
+  paden	= paden.reject{|pad| pad =~ /^#{windir1}/}
+  paden	= paden.reject{|pad| pad =~ /^#{windir2}/}
+
   while todo.length > 0
     todo2	= todo
     todo	= []
 
     todo2.each do |file|
       File.open(file, "rb") do |f|
-        strings	= f.read.scan(/[\w\-\.]+/)	# Hack ???
-        strings.delete_if{|s| s !~ /\.(so|o|dll)$/i}
-
-        strings.each do |lib|
-          lib	= File.expand_path(lib, path)
-
-          if not lib.nil? and File.file?(lib) and not res.include?(lib)
-            todo << lib
-            res << lib
+        while (line = f.gets)
+          strings	= line.scan(/[\w\-\.]+/)	# Hack ???
+          strings	= strings.reject{|s| s !~ /\.(so|o|dll)$/i}
+
+          strings.each do |lib|
+            pad	= paden.find{|pad| File.file?(File.expand_path(lib, pad))}
+
+            unless pad.nil?
+              lib	= File.expand_path(lib, pad)
+
+              if File.file?(lib) and not res.include?(lib)
+                todo << lib
+                res << lib
+              end
+            end
           end
         end
       end
@@ -70,7 +90,7 @@
   lsb_ia32	= ["libm.so.6", "libdl.so.2", "libcrypt.so.1", "libc.so.6", "libpthread.so.0", "ld-lsb.so.1"]
   lsb		= lsb_common + lsb_ia32
 
-  res.delete_if{|s| lsb.include?(File.basename(s))}	if notthedefaults
+  res.reject!{|s| lsb.include?(File.basename(s))}	if notthedefaults
 
   res
 end
diff -ur rubyscript2exe-0.4.1.tar.gz/rubyscript2exe/ev/ftools.rb rubyscript2exe-0.4.2.tar.gz/rubyscript2exe/ev/ftools.rb
--- rubyscript2exe-0.4.1.tar.gz/rubyscript2exe/ev/ftools.rb	2005-12-03 14:29:03.000000000 +0100
+++ rubyscript2exe-0.4.2.tar.gz/rubyscript2exe/ev/ftools.rb	2006-03-08 18:29:18.000000000 +0100
@@ -9,8 +9,10 @@
       File.mkpath(todir)
 
       Dir.chdir(from)
-        Dir.new(".").each do |e|
-          Dir.copy(e, todir+"/"+e)	if not [".", ".."].include?(e)
+        Dir.open(".") do |dir|
+          dir.each do |e|
+            Dir.copy(e, todir+"/"+e)	if not [".", ".."].include?(e)
+          end
         end
       Dir.chdir(pdir)
     else
@@ -28,14 +30,19 @@
   end
 
   def self.rm_rf(entry)
-    File.chmod(0755, entry)
+    begin
+      File.chmod(0755, entry)
+    rescue
+    end
 
     if File.ftype(entry) == "directory"
       pdir	= Dir.pwd
 
       Dir.chdir(entry)
-        Dir.new(".").each do |e|
-          Dir.rm_rf(e)	if not [".", ".."].include?(e)
+        Dir.open(".") do |dir|
+          dir.each do |e|
+            Dir.rm_rf(e)	if not [".", ".."].include?(e)
+          end
         end
       Dir.chdir(pdir)
 
@@ -71,8 +78,10 @@
         Dir.chdir(entry)
 
         begin
-          Dir.new(".").each do |e|
-            res += Dir.find(e, mask).collect{|e| entry+"/"+e}	unless [".", ".."].include?(e)
+          Dir.open(".") do |dir|
+            dir.each do |e|
+              res += Dir.find(e, mask).collect{|e| entry+"/"+e}	unless [".", ".."].include?(e)
+            end
           end
         ensure
           Dir.chdir(pdir)
@@ -159,10 +168,12 @@
     catch :stop do
       ENV["PATH"].split(/#{sep}/).reverse.each do |d|
         if File.directory?(d)
-          Dir.new(d).each do |e|
-             if (linux? and e == file) or (windows? and e.downcase == file.downcase)
-               res	= File.expand_path(e, d)
-               throw :stop
+          Dir.open(d) do |dir|
+            dir.each do |e|
+              if (linux? and e == file) or (windows? and e.downcase == file.downcase)
+                res	= File.expand_path(e, d)
+                throw :stop
+              end
             end
           end
         end
@@ -171,4 +182,35 @@
 
     res
   end
+
+  def self.same_content?(file1, file2, blocksize=4096)
+    res	= false
+
+    if File.file?(file1) and File.file?(file2)
+      res	= true
+
+      data1	= nil
+      data2	= nil
+
+      File.open(file1, "rb") do |f1|
+        File.open(file2, "rb") do |f2|
+          catch :not_the_same do
+            while (data1 = f1.read(blocksize))
+              data2	= f2.read(blocksize)
+
+              unless data1 == data2
+                res	= false
+
+                throw :not_the_same
+              end
+            end
+
+            res	= false	if f2.read(blocksize)
+          end
+        end
+      end
+    end
+
+    res
+  end
 end
diff -ur rubyscript2exe-0.4.1.tar.gz/rubyscript2exe/ev/oldandnewlocation.rb rubyscript2exe-0.4.2.tar.gz/rubyscript2exe/ev/oldandnewlocation.rb
--- rubyscript2exe-0.4.1.tar.gz/rubyscript2exe/ev/oldandnewlocation.rb	2005-12-03 14:29:03.000000000 +0100
+++ rubyscript2exe-0.4.2.tar.gz/rubyscript2exe/ev/oldandnewlocation.rb	2006-03-08 18:29:17.000000000 +0100
@@ -14,8 +14,10 @@
       pdir	= Dir.pwd
 
       Dir.chdir(entry)
-        Dir.new(".").each do |e|
-          Dir.rm_rf(e)	if not [".", ".."].include?(e)
+        Dir.open(".") do |dir|
+          dir.each do |e|
+            Dir.rm_rf(e)	if not [".", ".."].include?(e)
+          end
         end
       Dir.chdir(pdir)
 
diff -ur rubyscript2exe-0.4.1.tar.gz/rubyscript2exe/init.rb rubyscript2exe-0.4.2.tar.gz/rubyscript2exe/init.rb
--- rubyscript2exe-0.4.1.tar.gz/rubyscript2exe/init.rb	2005-12-03 14:09:32.000000000 +0100
+++ rubyscript2exe-0.4.2.tar.gz/rubyscript2exe/init.rb	2006-02-04 00:55:33.000000000 +0100
@@ -1,6 +1,8 @@
 $: << File.dirname(File.expand_path(__FILE__))
 
-required	= $".collect{|a| "-r '#{a}'"}
+required	= $"
+required	= required.reject{|a| File.dirname(a) == ALLINONERUBY_TEMPDIR}	if defined?(ALLINONERUBY_TEMPDIR)
+required	= required.collect{|a| "-r '#{a}'"}
 
 require "ev/oldandnewlocation"
 require "ev/dependencies"
@@ -102,6 +104,7 @@
 
   unless File.file?(loadscript)
     $stderr.puts "Couldn't execute this command (rc=#{$?}):\n#{command}"
+
     exit 16
   end
 end
@@ -134,8 +137,8 @@
 
 copyto([oldlocation(script)], appdir2)
 
-copyto(Dir.find(libdir2, /\.(so|o|dll)$/i).collect{|file| ldds(file)}, bindir2)			if linux? or darwin?
-copyto(Dir.find(libdir2, /\.(so|o|dll)$/i).collect{|file| dlls(file, bindir1)}, bindir2)	if windows? or cygwin?
+copyto(Dir.find(libdir2, /\.(so|o|dll)$/i).collect{|file| ldds(file)}, bindir2)	if linux? or darwin?
+copyto(Dir.find(libdir2, /\.(so|o|dll)$/i).collect{|file| dlls(file)}, bindir2)	if windows? or cygwin?
 
 if TK or defined?(RUBYSCRIPT2EXE_TK)
   if File.file?("#{libdir2}/tk.rb")
@@ -182,7 +185,10 @@
   f.puts "bin	= dir + '/bin'"
   f.puts "lib	= dir + '/lib'"
 
-  f.puts "s	= ENV['PATH'].dup"
+  f.puts "verbose	= $VERBOSE"
+  f.puts "$VERBOSE	= nil"
+  f.puts "s		= ENV['PATH'].dup"
+  f.puts "$VERBOSE	= verbose"
   f.puts "if Dir.pwd[1..2] == ':/'"
   f.puts "  s << (';'+bin.gsub(/\\//, '\\\\'))"
   f.puts "else"
@@ -212,6 +218,7 @@
   f.puts "    v	= File.expand_path(v)	if k == 'RUBYSCRIPT2EXE_APPEXE'"
   f.puts "    eval('%s=%s' % [k, v.inspect])"
   f.puts "  end"
+  f.puts "  ARGV.concat(RUBYSCRIPT2EXE_PARMSLIST.split(/\000/))"
   f.puts "end"
 
   f.puts "# Requirements"
@@ -238,13 +245,13 @@
   apprb	= File.basename(script)
 
   if linux?
-    f.puts "c PATH=%tempdir%/bin:$PATH ; export LD_LIBRARY_PATH=%tempdir%/bin:$LD_LIBRARY_PATH ; chmod +x %tempdir%/bin/* ; %tempdir%/bin/#{rubyexe} -r %tempdir%/bootstrap.rb -T %tempdir%/empty.rb %tempdir%/app/#{apprb} %quotedparms%"
+    f.puts "c PATH=%tempdir%/bin:$PATH ; export LD_LIBRARY_PATH=%tempdir%/bin:$LD_LIBRARY_PATH ; chmod +x %tempdir%/bin/* ; %tempdir%/bin/#{rubyexe} -r %tempdir%/bootstrap.rb -T1 %tempdir%/empty.rb %tempdir%/app/#{apprb}"
   elsif darwin?
-    f.puts "c PATH=%tempdir%/bin:$PATH ; export DYLD_LIBRARY_PATH=%tempdir%/bin:$DYLD_LIBRARY_PATH ; chmod +x %tempdir%/bin/* ; %tempdir%/bin/#{rubyexe} -r %tempdir%/bootstrap.rb -T %tempdir%/empty.rb %tempdir%/app/#{apprb} %quotedparms%"
+    f.puts "c PATH=%tempdir%/bin:$PATH ; export DYLD_LIBRARY_PATH=%tempdir%/bin:$DYLD_LIBRARY_PATH ; chmod +x %tempdir%/bin/* ; %tempdir%/bin/#{rubyexe} -r %tempdir%/bootstrap.rb -T1 %tempdir%/empty.rb %tempdir%/app/#{apprb}"
   elsif cygwin?
-    f.puts "c %tempdir%\\bin\\#{rubyexe} -r %tempdir1%/bootstrap.rb -T1 %tempdir1%/empty.rb %tempdir1%/app/#{apprb} %quotedparms%"
+    f.puts "c %tempdir%\\bin\\#{rubyexe} -r %tempdir1%/bootstrap.rb -T1 %tempdir1%/empty.rb %tempdir1%/app/#{apprb}"
   else
-    f.puts "c %tempdir%\\bin\\#{rubyexe} -r %tempdir%\\bootstrap.rb -T1 %tempdir%\\empty.rb %tempdir%\\app\\#{apprb} %quotedparms%"
+    f.puts "c %tempdir%\\bin\\#{rubyexe} -r %tempdir%\\bootstrap.rb -T1 %tempdir%\\empty.rb %tempdir%\\app\\#{apprb}"
   end
 end
 
diff -ur rubyscript2exe-0.4.1.tar.gz/rubyscript2exe/VERSION rubyscript2exe-0.4.2.tar.gz/rubyscript2exe/VERSION
--- rubyscript2exe-0.4.1.tar.gz/rubyscript2exe/VERSION	2005-12-03 14:29:03.000000000 +0100
+++ rubyscript2exe-0.4.2.tar.gz/rubyscript2exe/VERSION	2006-03-08 18:29:17.000000000 +0100
@@ -1 +1 @@
-0.4.1
+0.4.2
Binary files rubyscript2exe-0.4.1.tar.gz/rubyscript2exe/eee.exe and rubyscript2exe-0.4.2.tar.gz/rubyscript2exe/eee.exe differ
Binary files rubyscript2exe-0.4.1.tar.gz/rubyscript2exe/eee_linux and rubyscript2exe-0.4.2.tar.gz/rubyscript2exe/eee_linux differ
Binary files rubyscript2exe-0.4.1.tar.gz/rubyscript2exe/eeew.exe and rubyscript2exe-0.4.2.tar.gz/rubyscript2exe/eeew.exe differ