Skip to content

Commit

Permalink
Rollup merge of rust-lang#104350 - SparkyPotato:fix-x-wrapper, r=jyn514
Browse files Browse the repository at this point in the history
Fix x finding Python on Windows

`x` searches through the path for `{dir}/python{2|3}?`, but this fails on Windows because the appropriate path is `{dir}/python.exe`.

This PR adds the expected `.exe` extension on Windows while searching.
  • Loading branch information
matthiaskrgr authored Nov 14, 2022
2 parents 33163bb + 56dfb70 commit 8ab46a1
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions src/tools/x/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
//! `x.py`, in that order of preference.
use std::{
env, io,
env::{self, consts::EXE_EXTENSION},
io,
process::{self, Command, ExitStatus},
};

Expand All @@ -27,12 +28,12 @@ fn python() -> &'static str {

for dir in env::split_paths(&val) {
// `python` should always take precedence over python2 / python3 if it exists
if dir.join(PYTHON).exists() {
if dir.join(PYTHON).with_extension(EXE_EXTENSION).exists() {
return PYTHON;
}

python2 |= dir.join(PYTHON2).exists();
python3 |= dir.join(PYTHON3).exists();
python2 |= dir.join(PYTHON2).with_extension(EXE_EXTENSION).exists();
python3 |= dir.join(PYTHON3).with_extension(EXE_EXTENSION).exists();
}

// try 3 before 2
Expand Down

0 comments on commit 8ab46a1

Please sign in to comment.