edge case for MSYS shims running as system (don't try to set $HOME)

This commit is contained in:
Luke Sampson
2013-09-04 11:32:44 +10:00
parent 98a10aa3c9
commit c5179fbaf5
+2
View File
@@ -89,6 +89,7 @@ function shim($path, $global) {
# note: use > for first line to replace file, then >> to append following lines
echo '# ensure $HOME is set for MSYS programs' > $shim
echo "if(!`$env:home) { `$env:home = `"`$home\`" }" >> $shim
echo 'if($env:home -eq "\") { $env:home = $null } # running as system' >> $shim
echo "`$path = '$path'" >> $shim
echo 'if($myinvocation.expectingInput) { $input | & $path @args } else { & $path @args }' >> $shim
@@ -97,6 +98,7 @@ function shim($path, $global) {
$shim_cmd = "$(strip_ext($shim)).cmd"
':: ensure $HOME is set for MSYS programs' | out-file $shim_cmd -encoding oem
'@if "%home%"=="" set home="%homedrive%%homepath%\"' | out-file $shim_cmd -encoding oem -append
'@if %home%=="/" set home= &:: (running as system)' | out-file $shim_cmd -encoding oem -append
"@`"$path`" %*" | out-file $shim_cmd -encoding oem -append
}
}