Index: src/org/jruby/RubyDir.java
===================================================================
RCS file: /cvsroot/jruby/jruby/src/org/jruby/RubyDir.java,v
retrieving revision 1.33
diff -u -r1.33 RubyDir.java
--- src/org/jruby/RubyDir.java	20 Mar 2006 05:05:49 -0000	1.33
+++ src/org/jruby/RubyDir.java	28 Mar 2006 16:28:13 -0000
@@ -376,6 +376,10 @@
      */
     protected static NormalizedFile getDir(IRuby runtime, String path, boolean mustExist) {
         NormalizedFile result = new NormalizedFile(path);
+        
+        if (!result.isAbsolute()) {
+            result = new NormalizedFile(runtime.getCurrentDirectory(), path);
+        }
 		
         // For some reason Java 1.5.x will print correct absolute path on a created file, 
         // but it will still operate on an old user.dir when performing any action.
Index: src/org/jruby/RubyFileTest.java
===================================================================
RCS file: /cvsroot/jruby/jruby/src/org/jruby/RubyFileTest.java,v
retrieving revision 1.17
diff -u -r1.17 RubyFileTest.java
--- src/org/jruby/RubyFileTest.java	25 Jan 2006 05:46:28 -0000	1.17
+++ src/org/jruby/RubyFileTest.java	28 Mar 2006 16:28:13 -0000
@@ -109,6 +109,10 @@
     
 	private static NormalizedFile newFile(RubyString path) {
 		NormalizedFile file = new NormalizedFile(path.getValue());
+        
+        if (!file.isAbsolute()) {
+            file = new NormalizedFile(path.getRuntime().getCurrentDirectory(), path.getValue());
+        }
 		
 		try {
 			file = (NormalizedFile)file.getCanonicalFile();
Index: src/org/jruby/util/IOHandlerSeekable.java
===================================================================
RCS file: /cvsroot/jruby/jruby/src/org/jruby/util/IOHandlerSeekable.java,v
retrieving revision 1.15
diff -u -r1.15 IOHandlerSeekable.java
--- src/org/jruby/util/IOHandlerSeekable.java	25 Jan 2006 05:46:28 -0000	1.15
+++ src/org/jruby/util/IOHandlerSeekable.java	28 Mar 2006 16:28:13 -0000
@@ -57,7 +57,11 @@
         
         this.path = path;
         this.modes = modes;
-        NormalizedFile theFile = (NormalizedFile)new NormalizedFile(path).getAbsoluteFile();
+        NormalizedFile theFile = new NormalizedFile(path);
+        
+        if (!theFile.isAbsolute()) {
+            theFile = (NormalizedFile)new NormalizedFile(getRuntime().getCurrentDirectory(), path).getAbsoluteFile();
+        }
 
         if (theFile.exists()) {
             if (modes.shouldTruncate()) {
