Skip to content

Comments

Avoid duplicating backslashes in sysconfig parser#10063

Merged
charliermarsh merged 1 commit intomainfrom
charlie/backslash
Dec 20, 2024
Merged

Avoid duplicating backslashes in sysconfig parser#10063
charliermarsh merged 1 commit intomainfrom
charlie/backslash

Conversation

@charliermarsh
Copy link
Member

Summary

We had a bug in our handling of escape sequences that caused us to duplicate backslashes. If you installed repeatedly, we'd keep doubling them, leading to an exponential blowup.

Closes #10060.

@charliermarsh charliermarsh marked this pull request as ready for review December 20, 2024 18:15
@charliermarsh charliermarsh added the bug Something isn't working label Dec 20, 2024
// We don't support octals (e.g., `\ooo`), hexadecimals (e.g., `\xhh`), and
// named Unicode characters (e.g., `\N{...}`).
warn!("Unrecognized escape sequence: `{c}`");
c
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think it's necessary to add parsing for these... We know this file doesn't contain these, we generate it.

'\'' => '\'',
'\"' => '"',
_ => {
return Err(Error::UnrecognizedEscape(c));
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think it's necessary for us to handle all the cases here. We generate this file, we know it doesn't contain (e.g.) Unicode names.

Copy link
Member

@BurntSushi BurntSushi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!

@charliermarsh charliermarsh merged commit f3c5b63 into main Dec 20, 2024
@charliermarsh charliermarsh deleted the charlie/backslash branch December 20, 2024 18:52
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Dec 28, 2024
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [astral-sh/uv](https://github.com/astral-sh/uv) | patch | `0.5.11` -> `0.5.13` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>astral-sh/uv (astral-sh/uv)</summary>

### [`v0.5.13`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0513)

[Compare Source](astral-sh/uv@0.5.12...0.5.13)

##### Bug fixes

-   Avoid enforcing URL check on initial publish ([#&#8203;10182](astral-sh/uv#10182))
-   Fix incorrect mismatched constraints reference ([#&#8203;10184](astral-sh/uv#10184))
-   Revert "Update `reqwest` ([#&#8203;10178](astral-sh/uv#10178))" ([#&#8203;10187](astral-sh/uv#10187))

### [`v0.5.12`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0512)

[Compare Source](astral-sh/uv@0.5.11...0.5.12)

##### Enhancements

-   Support `uv export` for non-project workspaces ([#&#8203;10144](astral-sh/uv#10144))
-   Set glibc versions for standalone installers ([#&#8203;10142](astral-sh/uv#10142))
-   Allow environment variables to be included in cache keys ([#&#8203;10170](astral-sh/uv#10170))

##### Preview features

-   Include extras in `uv-build` `Requires-Dist` metadata ([#&#8203;10110](astral-sh/uv#10110))
-   Use `shutil.which` for the build backend ([#&#8203;10028](astral-sh/uv#10028))

##### Bug fixes

-   Always write slash paths to RECORD file ([#&#8203;10164](astral-sh/uv#10164))
-   Add support for subdirectories in direct URLs in `uv.lock` ([#&#8203;10068](astral-sh/uv#10068))
-   Avoid duplicating backslashes in sysconfig parser ([#&#8203;10063](astral-sh/uv#10063))
-   Avoid erroring when subdirectories are provided in `uv add` ([#&#8203;10095](astral-sh/uv#10095))
-   Backtrack to non-local versions when wheels are missing platform support ([#&#8203;10046](astral-sh/uv#10046))
-   Fix mirror script to handle newer metadata format ([#&#8203;10050](astral-sh/uv#10050))
-   Preserve sort when deciding on requirement placement ([#&#8203;10078](astral-sh/uv#10078))
-   Remove redundant alias in `uv init` CLI ([#&#8203;10124](astral-sh/uv#10124))
-   Respect sources credentials in non-project workspaces ([#&#8203;10125](astral-sh/uv#10125))
-   Show non-project dependencies in `uv tree` ([#&#8203;10149](astral-sh/uv#10149))
-   Strip fragment when storing direct URL ([#&#8203;10093](astral-sh/uv#10093))
-   Include hashes for local source archives ([#&#8203;10080](astral-sh/uv#10080))

##### Documentation

-   Fix invalid syntax in some sources examples ([#&#8203;10127](astral-sh/uv#10127))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS44Mi45IiwidXBkYXRlZEluVmVyIjoiMzkuODMuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90Il19-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

uv python install consumes a lot of memory

2 participants