diff -ur allinoneruby-0.2.10.tar.gz/allinoneruby/CHANGELOG allinoneruby-0.2.11.tar.gz/allinoneruby/CHANGELOG
--- allinoneruby-0.2.10.tar.gz/allinoneruby/CHANGELOG	2006-07-29 20:29:06.000000000 +0200
+++ allinoneruby-0.2.11.tar.gz/allinoneruby/CHANGELOG	2007-04-15 21:40:15.000000000 +0200
@@ -1,5 +1,14 @@
 ----------------------------------------------------------------
 
+0.2.11 - 15.04.2007
+
+* Replaced %TEMP% by %HOME%/eee, or %USERPROFILE%/eee, or
+  %TEMP%/eee, or c:/eee (on Windows). Replaced /tmp by
+  $HOME/.eee, or /tmp/.eee (on Linux/Darwin). This is to avoid
+  "Insecure world writable dir".
+
+----------------------------------------------------------------
+
 0.2.10 - 29.07.2006
 
 * This change is just technical, to stay compatible with
diff -ur allinoneruby-0.2.10.tar.gz/allinoneruby/ev/dependencies.rb allinoneruby-0.2.11.tar.gz/allinoneruby/ev/dependencies.rb
--- allinoneruby-0.2.10.tar.gz/allinoneruby/ev/dependencies.rb	2006-07-29 20:29:29.000000000 +0200
+++ allinoneruby-0.2.11.tar.gz/allinoneruby/ev/dependencies.rb	2007-04-15 21:43:49.000000000 +0200
@@ -12,7 +12,7 @@
 
   paden << File.dirname(file)
 
-  windir1	= (ENV["WINDIR"] || "").gsub(/\\/, "/").downcase
+  windir1	= (ENV["SYSTEMROOT"] || ENV["WINDIR"] || "").gsub(/\\/, "/").downcase
   drive		= windir1.scan(/^(.):/).shift.shift
   windir2	= windir1.sub(/^#{drive}:/, "/cygdrive/#{drive.downcase}")
 
@@ -72,6 +72,8 @@
       libs	= `ldd #{tempfile}`.split(/\r*\n/).collect{|line| line.split(/\s+/)[3]}			if linux?
       libs	= `otool -L #{tempfile}`.split(/\r*\n/)[1..-1].collect{|line| line.split(/\s+/)[1]}	if darwin?
 
+      libs ||= []
+
       libs.compact.each do |lib|
         if File.file?(lib) and not res.include?(lib)
           todo << lib
diff -ur allinoneruby-0.2.10.tar.gz/allinoneruby/ev/ftools.rb allinoneruby-0.2.11.tar.gz/allinoneruby/ev/ftools.rb
--- allinoneruby-0.2.10.tar.gz/allinoneruby/ev/ftools.rb	2006-07-29 20:29:29.000000000 +0200
+++ allinoneruby-0.2.11.tar.gz/allinoneruby/ev/ftools.rb	2007-04-15 21:43:49.000000000 +0200
@@ -62,6 +62,7 @@
 
   def self.find(entry=nil, mask=nil)
     entry	= "."	if entry.nil?
+    entry	= entry.to_s
 
     entry	= entry.gsub(/[\/\\]*$/, "")	unless entry.nil?
 
@@ -95,58 +96,57 @@
 
     res.sort
   end
-end
 
-class File
-  def self.rollbackup(file, mode=nil)
-    backupfile	= file + ".RB.BACKUP"
-    controlfile	= file + ".RB.CONTROL"
-    res		= nil
+  def self.home(*args, &block)
+    dir	= nil
 
-    File.touch(file)    unless File.file?(file)
+    dir	||= ENV["HOME"]
+    dir	||= ENV["USERPROFILE"]
+    dir	||= "c:/"
 
-	# Rollback
+    handle_home_and_temp(dir, *args, &block)
+  end
 
-    if File.file?(backupfile) and File.file?(controlfile)
-      $stderr.puts "Restoring #{file}..."
+  def self.temp(*args, &block)
+    dir	= nil
 
-      File.copy(backupfile, file)				# Rollback from phase 3
-    end
+    dir	||= ENV["TMPDIR"]
+    dir	||= ENV["TMP"]
+    dir	||= ENV["TEMP"]
+    dir	||= "/tmp"
 
-	# Reset
+    handle_home_and_temp(dir, *args, &block)
+  end
 
-    File.delete(backupfile)	if File.file?(backupfile)	# Reset from phase 2 or 3
-    File.delete(controlfile)	if File.file?(controlfile)	# Reset from phase 3 or 4
+  private
 
-	# Backup
+  def self.handle_home_and_temp(dir, *args, &block)
+    file	= File.join(*args)
+    file	= file.gsub(/\\/, "/")
+    file	= file.gsub(/\/+/, "/")
+    file	= file.gsub(/^\/+/, "")
+    file	= file.gsub(/\/+$/, "")
+
+    dir		= dir.gsub(/\\/, "/")
+    dir		= dir.gsub(/\/+/, "/")
+    dir		= dir.gsub(/\/+$/, "")
+    dir		= File.expand_path(file, dir)
 
-    File.copy(file, backupfile)					# Enter phase 2
-    File.touch(controlfile)					# Enter phase 3
+    res		= dir
 
-	# The real thing
+    if block
+      pdir	= Dir.pwd
 
-    if block_given?
-      if mode.nil?
-        res	= yield
-      else
-        File.open(file, mode) do |f|
-          res	= yield(f)
-        end
-      end
+      Dir.chdir(dir)	# Ruby 1.6 doesn't handle Dir.chdir(&block).
+        res	= block.call(res)
+      Dir.chdir(pdir)
     end
 
-	# Cleanup
-
-    File.delete(backupfile)					# Enter phase 4
-    File.delete(controlfile)					# Enter phase 5
-
-	# Return, like File.open
-
-    res	= File.open(file, (mode or "r"))	unless block_given?
-
     res
   end
+end
 
+class File
   def self.touch(file)
     if File.exists?(file)
       File.utime(Time.now, File.mtime(file), file)
diff -ur allinoneruby-0.2.10.tar.gz/allinoneruby/ev/oldandnewlocation.rb allinoneruby-0.2.11.tar.gz/allinoneruby/ev/oldandnewlocation.rb
--- allinoneruby-0.2.10.tar.gz/allinoneruby/ev/oldandnewlocation.rb	2006-07-29 20:29:29.000000000 +0200
+++ allinoneruby-0.2.11.tar.gz/allinoneruby/ev/oldandnewlocation.rb	2007-04-15 21:43:49.000000000 +0200
@@ -1,3 +1,5 @@
+require "rubyscript2exe"
+
 temp	= File.expand_path((ENV["TMPDIR"] or ENV["TMP"] or ENV["TEMP"] or "/tmp").gsub(/\\/, "/"))
 dir	= "#{temp}/oldandnewlocation.#{Process.pid}"
 
@@ -40,7 +42,7 @@
   oldlocation
 rescue NameError
   def oldlocation(file="")
-    dir	= ENV["OLDDIR"]
+    dir	= (ENV["OLDDIR"] || RUBYSCRIPT2EXE.userdir) rescue "."
     res	= nil
 
     if block_given?
@@ -61,7 +63,7 @@
   newlocation
 rescue NameError
   def newlocation(file="")
-    dir	= ENV["NEWDIR"]
+    dir	= (ENV["NEWDIR"] || RUBYSCRIPT2EXE.appdir) rescue "."
     res	= nil
 
     if block_given?
@@ -82,7 +84,7 @@
   applocation
 rescue NameError
   def applocation(file="")
-    dir	= ENV["APPDIR"]
+    dir	= (ENV["APPDIR"] || RUBYSCRIPT2EXE.appdir) rescue "."
     res	= nil
 
     if block_given?
diff -ur allinoneruby-0.2.10.tar.gz/allinoneruby/init.rb allinoneruby-0.2.11.tar.gz/allinoneruby/init.rb
--- allinoneruby-0.2.10.tar.gz/allinoneruby/init.rb	2006-07-29 13:58:44.000000000 +0200
+++ allinoneruby-0.2.11.tar.gz/allinoneruby/init.rb	2006-07-31 18:49:55.000000000 +0200
@@ -4,8 +4,9 @@
 require "ev/dependencies"
 require "ev/ftools"
 require "rbconfig"
+require "rubyscript2exe"
 
-exit	if defined?(REQUIRE2LIB)
+exit	if RUBYSCRIPT2EXE.is_compiling?
 
 def backslashes(s)
   s	= s.gsub(/^\.\//, "").gsub(/\//, "\\\\")	if windows?
diff -ur allinoneruby-0.2.10.tar.gz/allinoneruby/rubyscript2exe.rb allinoneruby-0.2.11.tar.gz/allinoneruby/rubyscript2exe.rb
--- allinoneruby-0.2.10.tar.gz/allinoneruby/rubyscript2exe.rb	2007-04-15 21:44:21.000000000 +0200
+++ allinoneruby-0.2.11.tar.gz/allinoneruby/rubyscript2exe.rb	2007-04-15 21:43:49.000000000 +0200
@@ -0,0 +1,103 @@
+module RUBYSCRIPT2EXE
+  @@dlls	= []
+  @@bin		= []
+  @@lib		= []
+  @@tempdir	= nil
+  @@tk		= false
+  @@rubyw	= false
+  @@strip	= true
+
+  USERDIR	= (defined?(oldlocation) ? oldlocation : Dir.pwd)	unless defined?(self.const_defined?(USERDIR))
+
+  def self.dlls		; @@dlls	; end
+  def self.dlls=(a)	; @@dlls = a	; end
+
+  def self.bin		; @@bin		; end
+  def self.bin=(a)	; @@bin = a	; end
+
+  def self.lib		; @@lib		; end
+  def self.lib=(a)	; @@lib = a	; end
+
+  def self.tempdir	; @@tempdir	; end
+  def self.tempdir=(s)	; @@tempdir = s	; end
+
+  def self.tk		; @@tk		; end
+  def self.tk=(b)	; @@tk = b	; end
+
+  def self.rubyw	; @@rubyw	; end
+  def self.rubyw=(b)	; @@rubyw = b	; end
+
+  def self.strip	; @@strip	; end
+  def self.strip=(b)	; @@strip = b	; end
+
+  def self.appdir(file=nil, &block)
+    if is_compiled? and defined?(TEMPDIR)
+      use_given_dir(File.expand_path(File.join(TEMPDIR, "app")), file, &block)
+    else
+      use_given_dir(File.dirname(File.expand_path($0, USERDIR)), file, &block)
+    end
+  end
+
+  def self.userdir(file=nil, &block)
+    use_given_dir(USERDIR, file, &block)
+  end
+
+  def self.exedir(file=nil, &block)
+    if is_compiled? and defined?(APPEXE)
+      use_given_dir(File.dirname(APPEXE), file, &block)
+    else
+      use_given_dir(File.dirname(File.expand_path($0)), file, &block)
+    end
+  end
+
+  def self.use_given_dir(dir, *file, &block)
+    if block
+      pdir	= Dir.pwd
+
+      Dir.chdir(dir)
+        res	= block[]
+      Dir.chdir(pdir)
+    else
+      file	= file.compact
+      res	= File.expand_path(File.join(*file), dir)
+    end
+
+    res
+  end
+
+  class << self
+    private :use_given_dir
+  end
+
+  def self.is_compiling?
+    defined?(REQUIRE2LIB)
+  end
+
+  def self.is_compiled?
+    defined?(COMPILED)
+  end
+
+  def self.executable
+    if is_compiled? and defined?(APPEXE)
+      APPEXE
+    else
+      File.expand_path($0)
+    end
+  end
+
+  verbose	= $VERBOSE
+  $VERBOSE	= nil
+  s		= ENV["PATH"].dup
+  $VERBOSE	= verbose
+  if Dir.pwd[1..2] == ":/"
+    s << (";"+appdir.gsub(/\//, "\\"))
+    s << (";"+appdir("bin").gsub(/\//, "\\"))
+  else
+    s << (":"+appdir)
+    s << (":"+appdir("bin"))
+  end
+  ENV["PATH"]   = s
+
+  $: << appdir
+  $: << appdir("lib")
+end
diff -ur allinoneruby-0.2.10.tar.gz/allinoneruby/VERSION allinoneruby-0.2.11.tar.gz/allinoneruby/VERSION
--- allinoneruby-0.2.10.tar.gz/allinoneruby/VERSION	2006-07-29 20:29:28.000000000 +0200
+++ allinoneruby-0.2.11.tar.gz/allinoneruby/VERSION	2007-04-15 21:43:49.000000000 +0200
@@ -1 +1 @@
-0.2.10
+0.2.11
Binary files allinoneruby-0.2.10.tar.gz/allinoneruby/eee.exe and allinoneruby-0.2.11.tar.gz/allinoneruby/eee.exe differ
Binary files allinoneruby-0.2.10.tar.gz/allinoneruby/eee_linux and allinoneruby-0.2.11.tar.gz/allinoneruby/eee_linux differ
Binary files allinoneruby-0.2.10.tar.gz/allinoneruby/eeew.exe and allinoneruby-0.2.11.tar.gz/allinoneruby/eeew.exe differ