$home

By the way, this is how $HOME is setup in mspec (on Windows):

# Code to setup HOME directory correctly on Windows

# This duplicates Ruby 1.9 semantics for defining HOME

platform_is :windows do

  if ENV['HOME']

    ENV['HOME'] = ENV['HOME'].tr '\\', '/'

  elsif ENV['HOMEDIR'] && ENV['HOMEDRIVE']

    ENV['HOME'] = File.join(ENV['HOMEDRIVE'], ENV['HOMEDIR'])

  elsif ENV['HOMEDIR']

    ENV['HOME'] = ENV['HOMEDIR']

  elsif ENV['HOMEDRIVE']

    ENV['HOME'] = ENV['HOMEDRIVE']

  elsif ENV['USERPROFILE']

    ENV['HOME'] = ENV['USERPROFILE']

  else

    puts "No suitable HOME environment found. This means that all of

HOME, HOMEDIR, HOMEDRIVE, and USERPROFILE are not set"

    exit 1

  end

end

That’s wrong.

The order should be:

HOME
USERPROFILE
HOMEDRIVE + HOMEDIR

Using HOMEDIR without HOMEDRIVE (and the opposite) are bad ideas.

On Mon, Jul 28, 2008 at 6:07 AM, Peter Bacon D. <

So the question is, “Given that this is in mspec and it claims to
reproduce Ruby 1.9 semantic, who do we send the bug report to?”

From: [email protected]
[mailto:[email protected]] On Behalf Of Brad W.
Sent: Monday,28 July 28, 2008 23:18
To: [email protected]
Subject: Re: [Ironruby-core] $HOME

That’s wrong.

The order should be:

HOME
USERPROFILE
HOMEDRIVE + HOMEDIR

Using HOMEDIR without HOMEDRIVE (and the opposite) are bad ideas.

On Mon, Jul 28, 2008 at 6:07 AM, Peter Bacon D.
[email protected] wrote:

By the way, this is how $HOME is setup in mspec (on Windows):

# Code to setup HOME directory correctly on Windows

# This duplicates Ruby 1.9 semantics for defining HOME

platform_is :windows do

  if ENV['HOME']

    ENV['HOME'] = ENV['HOME'].tr '\\', '/'

  elsif ENV['HOMEDIR'] && ENV['HOMEDRIVE']

    ENV['HOME'] = File.join(ENV['HOMEDRIVE'], ENV['HOMEDIR'])

  elsif ENV['HOMEDIR']

    ENV['HOME'] = ENV['HOMEDIR']

  elsif ENV['HOMEDRIVE']

    ENV['HOME'] = ENV['HOMEDRIVE']

  elsif ENV['USERPROFILE']

    ENV['HOME'] = ENV['USERPROFILE']

  else

    puts "No suitable HOME environment found. This means that all of 

HOME, HOMEDIR, HOMEDRIVE, and USERPROFILE are not set"

    exit 1

  end

end

Ruby 1.9 actually uses this order:

HOME

HOMEDRIVE + HOMEPATH

HOMEPATH

USERPROFILE

SHGetSpecialFolderLocation(NULL, CSIDL_PERSONAL, &pidl)

This seems reasonable. I suspect mspec needs tweaking.

Pete

From: [email protected]
[mailto:[email protected]] On Behalf Of Brad W.
Sent: Monday,28 July 28, 2008 23:18
To: [email protected]
Subject: Re: [Ironruby-core] $HOME

That’s wrong.

The order should be:

HOME
USERPROFILE
HOMEDRIVE + HOMEDIR

Using HOMEDIR without HOMEDRIVE (and the opposite) are bad ideas.

On Mon, Jul 28, 2008 at 6:07 AM, Peter Bacon D.
[email protected] wrote:

By the way, this is how $HOME is setup in mspec (on Windows):

# Code to setup HOME directory correctly on Windows

# This duplicates Ruby 1.9 semantics for defining HOME

platform_is :windows do

  if ENV['HOME']

    ENV['HOME'] = ENV['HOME'].tr '\\', '/'

  elsif ENV['HOMEDIR'] && ENV['HOMEDRIVE']

    ENV['HOME'] = File.join(ENV['HOMEDRIVE'], ENV['HOMEDIR'])

  elsif ENV['HOMEDIR']

    ENV['HOME'] = ENV['HOMEDIR']

  elsif ENV['HOMEDRIVE']

    ENV['HOME'] = ENV['HOMEDRIVE']

  elsif ENV['USERPROFILE']

    ENV['HOME'] = ENV['USERPROFILE']

  else

    puts "No suitable HOME environment found. This means that all of 

HOME, HOMEDIR, HOMEDRIVE, and USERPROFILE are not set"

    exit 1

  end

end