-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
environment vars on Windows should be case-insensitive #29334
Comments
It seems like
Or does it do this already? I don't have a Windows machine handy to check. |
See e.g. dotnet/corefx#13146 and cucumber/aruba#291 for related discussions in other languages. |
I thought Lines 9 to 23 in fa7d1a9
The problem I wanted to brought up here is:
Yes, I think this is a good idea (on Windows). (On Linux, I see that |
Non-uppercase environment variables:
|
What case does |
Not the direct answer, but see the output of
Yeah, it looks like so. Here is the output of
https://ci.appveyor.com/project/tkf/myplayground-jl/build/job/4pej3sggfba38gc8#L57 |
Disclaimer: I don't personally use Windows and I inferred this behavior only through appveyor. So maybe I'm missing some points here.
Anyway, how do you update
PATH
to be used forsetenv(command::Cmd, env)
on Windows? For example, if I doit doesn't work since the original PATH is in
env_var["Path"]
notenv_var["PATH"]
. I had to implement something like this (JuliaPy/Conda.jl#121 (comment)):I tried
empty!(ENV); merge!(ENV, env_var)
but apparentlyempty!(ENV)
is not implemented (at least on Linux). Also, it would have emitted bunch of syscalls so maybe not a good idea in the first place.So, I thought maybe
Base
needs to have a case-insensitive (in-memory) dictionary andcopy(ENV)
on Windows should return it. It also facilitates cross-platform testing.cc: @stevengj
The text was updated successfully, but these errors were encountered: