From 45010855762a6f91e607e15c4997b88774b620a3 Mon Sep 17 00:00:00 2001 From: Hiro Asari Date: Tue, 17 Jan 2012 09:37:18 -0500 Subject: [PATCH] Search for .jrubyrc in "HOMEDRIVE"+"HOMEPATH" first on Windows. This fixes JRUBY-6338. --- src/org/jruby/Main.java | 13 +++++++++++++ 1 files changed, 13 insertions(+), 0 deletions(-) diff --git a/src/org/jruby/Main.java b/src/org/jruby/Main.java index 9a462d5..2fc90fd 100644 --- a/src/org/jruby/Main.java +++ b/src/org/jruby/Main.java @@ -45,6 +45,8 @@ import java.io.FileDescriptor; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; import java.util.Map; import java.util.Properties; import org.jruby.exceptions.MainExitException; @@ -101,8 +103,19 @@ public class Main { public static void processDotfile() { // try current dir, then home dir + ArrayList searchList = new ArrayList(); for (String homeProp : new String[] {"user.dir", "user.home"}) { String home = SafePropertyAccessor.getProperty(homeProp); + if (home != null) searchList.add(home); + } + if (Platform.IS_WINDOWS) { + String homeDrive = System.getenv("HOMEDRIVE"); + String homePath = System.getenv("HOMEPATH"); + if (homeDrive != null && homePath != null) + // current directory first, HOMEDRIVE+HOMEPATH next, user.home last + searchList.add(1, homeDrive + "/" + homePath); + } + for (String home : searchList.toArray(new String[searchList.size()])) { if (home == null) continue; FileInputStream fis = null; -- 1.7.8