Commit b6acd0e
authored
fix(venv): escape glob characters in the venv lookup prefix (#3869)
get_venv_prefix builds the prefix from the project directory name, and venv create writes that name to disk literally. iter_venvs fed the same string to Path.glob, where [ and ] are pattern metacharacters and are legal in Windows directory names. A project in my[project] or downloads[1] produced a pattern that never matched its own venv, so venv list, venv remove, venv activate and interpreter discovery all silently saw nothing.
The ident slice keeps the unescaped length because it indexes the real on-disk name, not the pattern.1 parent b1878e2 commit b6acd0e
2 files changed
Lines changed: 28 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
4 | 5 | | |
5 | 6 | | |
6 | 7 | | |
| |||
60 | 61 | | |
61 | 62 | | |
62 | 63 | | |
63 | | - | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
64 | 68 | | |
65 | 69 | | |
66 | 70 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
141 | 141 | | |
142 | 142 | | |
143 | 143 | | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
144 | 167 | | |
145 | 168 | | |
146 | 169 | | |
| |||
0 commit comments