diff -ur rubyscript2exe-0.1.15.tar.gz/rubyscript2exe/eee.pas rubyscript2exe-0.1.16.tar.gz/rubyscript2exe/eee.pas
--- rubyscript2exe-0.1.15.tar.gz/rubyscript2exe/eee.pas	2004-05-14 22:48:30.000000000 +0200
+++ rubyscript2exe-0.1.16.tar.gz/rubyscript2exe/eee.pas	2004-06-10 13:57:22.000000000 +0200
@@ -16,6 +16,7 @@
 		  length	: longint;
 		  number	: longint;
 		  who		: string[255];
+		  exename	: string[32];
 		end;
 
 var
@@ -38,6 +39,7 @@
   i		: longint;
   dir		: string[255];
   parms		: string;
+  quotedparms	: string;
   justextract	: boolean;
 
 
@@ -168,14 +170,29 @@
     assign(eeefile, paramstr(1));
     reset(eeefile);
 
-    if (paramcount > 2)	then assign(infile, paramstr(3))
-			else assign(infile, paramstr(0));
+    if (paramcount > 2)	then begin
+      assign(infile, paramstr(3));
+      t.exename	:= paramstr(3);
+    end
+    else begin
+      assign(infile, paramstr(0));
+      t.exename	:= paramstr(0);
+    end;
+
     reset(infile, 1);
     t.length	:= filesize(infile);
     blockcopy(infile, outfile, t.length, false);
     close(infile);
 
     t.number	:= 0;
+    t.who	:= me;
+
+    s		:= ´\´;
+    i		:= pos(s, t.exename);
+    while (i > 0) do begin
+      t.exename	:= copy(t.exename, i+length(s), length(t.exename)-(i+length(s))+1);
+      i		:= pos(s, t.exename);
+    end;
 
     repeat
       readln(eeefile, s);
@@ -218,8 +235,6 @@
       end;
     until eof(eeefile);
 
-    t.who	:= me;
-
     blockwrite(outfile, t, sizeof(t));
 
     close(eeefile);
@@ -273,6 +288,13 @@
           i		:= pos(s, tekst2);
         end;
 
+        s		:= ´%quotedparms%´;
+        i		:= pos(s, tekst2);
+        while (i > 0) do begin
+          tekst2	:= copy(tekst2, 1, i-1) + quotedparms + copy(tekst2, i+length(s), length(tekst2)-(i+length(s))+1);
+          i		:= pos(s, tekst2);
+        end;
+
         // writeln(h.klasse, ´ ´, tekst2);
 
         if (h.klasse = ´f´) then begin
@@ -320,7 +342,7 @@
     assign(infile, paramstr(0));
     reset(infile, 1);
 
-    assign(outfile, ´eee.exe´);
+    assign(outfile, t.exename);
     rewrite(outfile);
     blockcopy(infile, outfile, t.length, false);
     close(outfile);
@@ -365,16 +387,19 @@
   justextract	:= false;
 
   parms		:= ´´;
+  quotedparms	:= ´´;
   for teller := 1 to paramcount do begin
     if (paramstr(teller) = ´--eee-justextract´) then begin
       justextract	:= true;
     end;
 
-    if (parms = ´´) then begin
-      parms	:= ´´´´ + paramstr(teller) + ´´´´;
+    if ((parms = ´´) and (quotedparms = ´´)) then begin
+      parms		:= paramstr(teller);
+      quotedparms	:= ´´´´ + paramstr(teller) + ´´´´;
     end
     else begin
-      parms	:= parms + ´ ´´´ + paramstr(teller) + ´´´´;
+      parms		:= parms + ´ ´ + paramstr(teller);
+      quotedparms	:= quotedparms + ´ ´´´ + paramstr(teller) + ´´´´;
     end;
   end;
 
diff -ur rubyscript2exe-0.1.15.tar.gz/rubyscript2exe/ev/ftools.rb rubyscript2exe-0.1.16.tar.gz/rubyscript2exe/ev/ftools.rb
--- rubyscript2exe-0.1.15.tar.gz/rubyscript2exe/ev/ftools.rb	2004-05-15 11:59:12.000000000 +0200
+++ rubyscript2exe-0.1.16.tar.gz/rubyscript2exe/ev/ftools.rb	2004-06-11 13:17:48.000000000 +0200
@@ -19,7 +19,7 @@
     end
   end
 
-  def self.rollbackup(file)
+  def self.rollbackup(file, mode=nil)
     backupfile	= file + ".RB.BACKUP"
     controlfile	= file + ".RB.CONTROL"
 
@@ -30,27 +30,43 @@
     if File.file?(backupfile) and File.file?(controlfile)
       $stdout.puts "Restoring #{file}..."
 
-      File.copy(backupfile, file)				# Rollback from fase 3
+      File.copy(backupfile, file)				# Rollback from phase 3
     end
 
 	# Reset
 
-    File.delete(backupfile)	if File.file?(backupfile)	# Reset from fase 2 or 3
-    File.delete(controlfile)	if File.file?(controlfile)	# Reset from fase 3 or 4
+    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
 
 	# Backup
 
-    File.copy(file, backupfile)					# Enter fase 2
-    File.touch(controlfile)					# Enter fase 3
+    File.copy(file, backupfile)					# Enter phase 2
+    File.touch(controlfile)					# Enter phase 3
 
 	# The real thing
 
-    yield	if block_given?
+    if block_given?
+      if mode.nil?
+        yield
+      else
+        File.open(file, mode) do |f|
+          yield(f)
+        end
+      end
+    end
 
 	# Cleanup
 
-    File.delete(backupfile)					# Enter fase 4
-    File.delete(controlfile)					# Enter fase 5
+    File.delete(backupfile)					# Enter phase 4
+    File.delete(controlfile)					# Enter phase 5
+
+	# Return, like File.open
+
+    if block_given?
+      return nil
+    else
+      return File.open(file, (mode or "r"))
+    end
   end
 
   def self.touch(file)
diff -ur rubyscript2exe-0.1.15.tar.gz/rubyscript2exe/init.rb rubyscript2exe-0.1.16.tar.gz/rubyscript2exe/init.rb
--- rubyscript2exe-0.1.15.tar.gz/rubyscript2exe/init.rb	2004-04-28 22:14:55.000000000 +0200
+++ rubyscript2exe-0.1.16.tar.gz/rubyscript2exe/init.rb	2004-06-09 11:17:38.000000000 +0200
@@ -60,7 +60,8 @@
 
   puts "Gathering files..."
 
-  copy("#{bindir}/#{rubyexe}", rubyexe)
+  copy("#{bindir}/ruby.exe", "ruby.exe")
+  copy("#{bindir}/rubyw.exe", "rubyw.exe")
   copy("#{bindir}/#{libruby}", libruby)
   copy("#{bindir}/#{msvcr71}", msvcr71)	if msvcr71
   move("#{oldlocation("rubyrequired.tar")}", "rubyrequired.tar")
@@ -73,7 +74,8 @@
   puts "Creating #{app}.exe ..."
 
   File.open("app.eee", "w") do |f|
-    f.puts "f #{rubyexe}"
+    f.puts "f ruby.exe"
+    f.puts "f rubyw.exe"
     f.puts "f #{libruby}"
     f.puts "f #{msvcr71}"	if msvcr71
     f.puts "f rubyrequired.rb"
@@ -81,16 +83,16 @@
 
     f.puts "t #{rubyexe} rubyrequired.rb --tar2rubyscript-justextract"
 
-    f.puts "c %tempdir%/#{rubyexe} -I %tempdir%/rubyrequired %tempdir%/app.rb %parms%"
+    f.puts "c %tempdir%/#{rubyexe} -I %tempdir%/rubyrequired %tempdir%/app.rb %quotedparms%"
   end
 
   if rubyw
-    exe	= "eeew.exe"
+    eeeexe	= "eeew.exe"
   else
-    exe	= "eee.exe"
+    eeeexe	= "eee.exe"
   end
 
-  execute("./eee app.eee #{app}.exe #{exe}")
+  execute("./eee app.eee #{app}.exe #{eeeexe}")
 
   copy("#{app}.exe", oldlocation)
 end
Binary files rubyscript2exe-0.1.15.tar.gz/rubyscript2exe/eee.exe and rubyscript2exe-0.1.16.tar.gz/rubyscript2exe/eee.exe differ
Binary files rubyscript2exe-0.1.15.tar.gz/rubyscript2exe/eeew.exe and rubyscript2exe-0.1.16.tar.gz/rubyscript2exe/eeew.exe differ