Skip to content
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

Truncate SyntaxErrors before newline character #4124

Merged
merged 1 commit into from
May 10, 2023

Conversation

MichaReiser
Copy link
Member

@MichaReiser MichaReiser commented Apr 26, 2023

Fixes #3520

Before

error: Failed to parse  C:\Users\Micha\Downloads\fix_except0.py:39:14: invalid syntax. Got unexpected token """
    try_stmt< 'try' ':' (simple_stmt | suite)
                  cleanup=(except_clause ':' (simple_stmt | suite))+
                  tail=(['except' ':' (simple_stmt | suite)]
                        ['else' ':' (simple_stmt | suite)]
                        ['finally' ':' (simple_stmt | suite)]) >
    """
C:\Users\Micha\Downloads\fix_except0.py:39:14: E999 SyntaxError: invalid syntax. Got unexpected token """
    try_stmt< 'try' ':' (simple_stmt | suite)
                  cleanup=(except_clause ':' (simple_stmt | suite))+
                  tail=(['except' ':' (simple_stmt | suite)]
                        ['else' ':' (simple_stmt | suite)]
                        ['finally' ':' (simple_stmt | suite)]) >
    """
   |
39 |     BM_compatible = True
40 |
41 |     PATTERN  """
   |              ^ E999
42 |     try_stmt< 'try' ':' (simple_stmt | suite)
43 |                   cleanup=(except_clause ':' (simple_stmt | suite))+
   |

Found 1 error.

After

error: Failed to parse C:\Users\Micha\Downloads\fix_except0.py:39:14: unexpected token """⏎...
C:\Users\Micha\Downloads\fix_except0.py:39:14: E999 SyntaxError: unexpected token """⏎...
   |
39 |     BM_compatible = True
40 |
41 |     PATTERN  """
   |              ^ E999
42 |     try_stmt< 'try' ':' (simple_stmt | suite)
43 |                   cleanup=(except_clause ':' (simple_stmt | suite))+
   |

Found 1 error.

I decided to implement this in Ruff rather than RustPython becuse this behaviour must only apply in a context where each error should only span a single line.

Ideally, the parser emit the full range for the token so that we can proberly highlight it in the diagnostic and use the Token text as it appears in the source document (RustPython assumes " even if the source text uses ').

Alternatives

An alternative would be to escape newlines. I decided not to escape newlines because it can lead to extremelly long lines in the output.

@MichaReiser
Copy link
Member Author

Current dependencies on/for this PR:

This comment was auto-generated by Graphite.


impl Display for DisplayParseErrorType<'_> {
fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
match self.0 {
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 copied this from RustPython but wrapped all tok variables.

@github-actions
Copy link
Contributor

github-actions bot commented Apr 26, 2023

PR Check Results

Ecosystem

✅ ecosystem check detected no changes.

@MichaReiser MichaReiser force-pushed the fix-multiline-syntax-errors branch from cc9712e to 9a73051 Compare May 9, 2023 06:13
Copy link
Member

@charliermarsh charliermarsh left a comment

Choose a reason for hiding this comment

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

Sorry, I looked at this before, but I felt like I was missing the context and got side-tracked. Does this not have the potential to confuse by way of emitting partial error messages? Why truncate at the first newline?

@MichaReiser
Copy link
Member Author

Sorry, I looked at this before, but I felt like I was missing the context and got side-tracked. Does this not have the potential to confuse by way of emitting partial error messages? Why truncate at the first newline?

It only truncates the token text, not the message itself. I guess, it could be confusing if the unexpected token was a newline, but I think that would already have been confusing today, because Ruff doesn't use special formatting for whitespace.

@charliermarsh
Copy link
Member

Sounds reasonable -- go for it.

@MichaReiser MichaReiser merged commit d66ce76 into main May 10, 2023
@MichaReiser MichaReiser deleted the fix-multiline-syntax-errors branch May 10, 2023 06:37
renovate bot referenced this pull request in ixm-one/pytest-cmake-presets May 12, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [ruff](https://togithub.com/charliermarsh/ruff)
([changelog](https://togithub.com/charliermarsh/ruff/releases)) |
`^0.0.265` -> `^0.0.267` |
[![age](https://badges.renovateapi.com/packages/pypi/ruff/0.0.267/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/ruff/0.0.267/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/ruff/0.0.267/compatibility-slim/0.0.265)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/ruff/0.0.267/confidence-slim/0.0.265)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>charliermarsh/ruff</summary>

###
[`v0.0.267`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.267)

[Compare
Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.266...v0.0.267)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### Summary

Follow-up release to v0.0.266 to fix an issue with `python -m ruff`- and
`import ruff`-based workflows.

(No new rules or functionality.)

#### What's Changed

##### Rules

- Implement `RUF010` to detect explicit type conversions within
f-strings by [@&#8203;LotemAm](https://togithub.com/LotemAm) in
[https://github.com/charliermarsh/ruff/pull/4387](https://togithub.com/charliermarsh/ruff/pull/4387)

##### Other Changes

- Workaround for maturin bug by
[@&#8203;konstin](https://togithub.com/konstin) in
[https://github.com/charliermarsh/ruff/pull/4399](https://togithub.com/charliermarsh/ruff/pull/4399)

#### New Contributors

- [@&#8203;OMEGARAZER](https://togithub.com/OMEGARAZER) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/3938](https://togithub.com/charliermarsh/ruff/pull/3938)
- [@&#8203;LotemAm](https://togithub.com/LotemAm) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4387](https://togithub.com/charliermarsh/ruff/pull/4387)

**Full Changelog**:
astral-sh/ruff@v0.0.266...v0.0.267

###
[`v0.0.266`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.266)

[Compare
Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.265...v0.0.266)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### Breaking Changes

- Remove deprecated `update-check` setting by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4313](https://togithub.com/charliermarsh/ruff/pull/4313)
- JSON Emitter: Use one indexed column numbers for edits by
[@&#8203;MichaReiser](https://togithub.com/MichaReiser) in
[https://github.com/charliermarsh/ruff/pull/4007](https://togithub.com/charliermarsh/ruff/pull/4007)

##### Rules

- \[`pygrep-hooks`] Implement pygrep-hook's Mock-mistake diagnostic by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4366](https://togithub.com/charliermarsh/ruff/pull/4366)
- \[`pylint`] Implement `nested-min-max` (`W3301`) by
[@&#8203;mccullocht](https://togithub.com/mccullocht) in
[https://github.com/charliermarsh/ruff/pull/4200](https://togithub.com/charliermarsh/ruff/pull/4200)
- \[`flynt`] Implement Flynt static string join transform as FLY002 by
[@&#8203;akx](https://togithub.com/akx) in
[https://github.com/charliermarsh/ruff/pull/4196](https://togithub.com/charliermarsh/ruff/pull/4196)
- \[`pylint`] Include positional- and keyword-only arguments in
too-many-arguments by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4329](https://togithub.com/charliermarsh/ruff/pull/4329)
- \[`ruff`] Update confusable character mapping by
[@&#8203;akx](https://togithub.com/akx) in
[https://github.com/charliermarsh/ruff/pull/4274](https://togithub.com/charliermarsh/ruff/pull/4274)

##### Settings

- Add .git-rewrite folder to default ignored folder paths by
[@&#8203;jleclanche](https://togithub.com/jleclanche) in
[https://github.com/charliermarsh/ruff/pull/4261](https://togithub.com/charliermarsh/ruff/pull/4261)
- Feat: detect changes also in configuration files by
[@&#8203;mikeleppane](https://togithub.com/mikeleppane) in
[https://github.com/charliermarsh/ruff/pull/4169](https://togithub.com/charliermarsh/ruff/pull/4169)

##### Bug Fixes

- Revert the B027 autofix logic by
[@&#8203;aacunningham](https://togithub.com/aacunningham) in
[https://github.com/charliermarsh/ruff/pull/4310](https://togithub.com/charliermarsh/ruff/pull/4310)
- Consider Flask app logger as logger candidate by
[@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in
[https://github.com/charliermarsh/ruff/pull/4253](https://togithub.com/charliermarsh/ruff/pull/4253)
- Enforce max-doc-length for multi-line docstrings by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4347](https://togithub.com/charliermarsh/ruff/pull/4347)
- Avoid re-using imports beyond current edit site by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4378](https://togithub.com/charliermarsh/ruff/pull/4378)
- Respect insertion location when importing symbols by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4258](https://togithub.com/charliermarsh/ruff/pull/4258)
- Fix jemalloc page size on aarch64 by
[@&#8203;MichaReiser](https://togithub.com/MichaReiser) in
[https://github.com/charliermarsh/ruff/pull/4247](https://togithub.com/charliermarsh/ruff/pull/4247)
- Fix replace_whitespace() tabulation to space by
[@&#8203;JonathanPlasse](https://togithub.com/JonathanPlasse) in
[https://github.com/charliermarsh/ruff/pull/4226](https://togithub.com/charliermarsh/ruff/pull/4226)
- Avoid fixing `PD002` in a lambda expression by
[@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in
[https://github.com/charliermarsh/ruff/pull/4286](https://togithub.com/charliermarsh/ruff/pull/4286)
- Avoid `D403` if first char cannot be uppercased by
[@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in
[https://github.com/charliermarsh/ruff/pull/4283](https://togithub.com/charliermarsh/ruff/pull/4283)
- Avoid panics for f-string rewrites at start-of-file by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4291](https://togithub.com/charliermarsh/ruff/pull/4291)
- Rewrite `not not a` as `bool(a)` in boolean contexts by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4294](https://togithub.com/charliermarsh/ruff/pull/4294)
- Include static and class methods in in abstract decorator list by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4298](https://togithub.com/charliermarsh/ruff/pull/4298)
- Specify exact command in incorrect parentheses suggestion by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4300](https://togithub.com/charliermarsh/ruff/pull/4300)
- Ignore `TRY301` exceptions without except handlers by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4301](https://togithub.com/charliermarsh/ruff/pull/4301)
- Preserve whitespace around `ListComp` brackets in `C419` by
[@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in
[https://github.com/charliermarsh/ruff/pull/4099](https://togithub.com/charliermarsh/ruff/pull/4099)
- Tweak capitalization of B021 message by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4350](https://togithub.com/charliermarsh/ruff/pull/4350)
- Avoid debug panic with empty indent replacement by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4364](https://togithub.com/charliermarsh/ruff/pull/4364)
- Use target name in hardcoded-password diagnostics by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4365](https://togithub.com/charliermarsh/ruff/pull/4365)
- Avoid underflow in expected-special-method-signature by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4377](https://togithub.com/charliermarsh/ruff/pull/4377)
- Respect `__all__` imports when determining definition visibility by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4357](https://togithub.com/charliermarsh/ruff/pull/4357)
- Ignore some methods on list in `flake8-boolean-trap` by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4385](https://togithub.com/charliermarsh/ruff/pull/4385)
- Fix false positives in PD002 by
[@&#8203;evanrittenhouse](https://togithub.com/evanrittenhouse) in
[https://github.com/charliermarsh/ruff/pull/4337](https://togithub.com/charliermarsh/ruff/pull/4337)
- Run autofix on initial watcher pass by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4311](https://togithub.com/charliermarsh/ruff/pull/4311)
- Avoid SIM105 autofixes that would remove comments by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4330](https://togithub.com/charliermarsh/ruff/pull/4330)
- Handle `.encode` calls on parenthesized expressions by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4338](https://togithub.com/charliermarsh/ruff/pull/4338)
- Truncate `SyntaxError`s before newline character by
[@&#8203;MichaReiser](https://togithub.com/MichaReiser) in
[https://github.com/charliermarsh/ruff/pull/4124](https://togithub.com/charliermarsh/ruff/pull/4124)
- Use non-empty ranges for logical-lines diagnostics by
[@&#8203;MichaReiser](https://togithub.com/MichaReiser) in
[https://github.com/charliermarsh/ruff/pull/4133](https://togithub.com/charliermarsh/ruff/pull/4133)

#### New Contributors

- [@&#8203;jleclanche](https://togithub.com/jleclanche) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4261](https://togithub.com/charliermarsh/ruff/pull/4261)
- [@&#8203;aureliojargas](https://togithub.com/aureliojargas) made their
first contribution in
[https://github.com/charliermarsh/ruff/pull/4306](https://togithub.com/charliermarsh/ruff/pull/4306)
- [@&#8203;intgr](https://togithub.com/intgr) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4304](https://togithub.com/charliermarsh/ruff/pull/4304)
- [@&#8203;mikeleppane](https://togithub.com/mikeleppane) made their
first contribution in
[https://github.com/charliermarsh/ruff/pull/4169](https://togithub.com/charliermarsh/ruff/pull/4169)
- [@&#8203;dependabot](https://togithub.com/dependabot) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4354](https://togithub.com/charliermarsh/ruff/pull/4354)

**Full Changelog**:
astral-sh/ruff@v0.0.265...v0.0.266

</details>

---

### Configuration

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

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

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

---

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

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/ixm-one/pytest-cmake-presets).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS43OS4xIiwidXBkYXRlZEluVmVyIjoiMzUuNzkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Signed-off-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this pull request in allenporter/flux-local May 14, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [ruff](https://togithub.com/charliermarsh/ruff)
([changelog](https://togithub.com/charliermarsh/ruff/releases)) |
`==0.0.265` -> `==0.0.267` |
[![age](https://badges.renovateapi.com/packages/pypi/ruff/0.0.267/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/ruff/0.0.267/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/ruff/0.0.267/compatibility-slim/0.0.265)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/ruff/0.0.267/confidence-slim/0.0.265)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>charliermarsh/ruff</summary>

###
[`v0.0.267`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.267)

[Compare
Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.266...v0.0.267)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### Summary

Follow-up release to v0.0.266 to fix an issue with `python -m ruff`- and
`import ruff`-based workflows.

(No new rules or functionality.)

#### What's Changed

##### Rules

- Implement `RUF010` to detect explicit type conversions within
f-strings by [@&#8203;LotemAm](https://togithub.com/LotemAm) in
[https://github.com/charliermarsh/ruff/pull/4387](https://togithub.com/charliermarsh/ruff/pull/4387)

##### Other Changes

- Workaround for maturin bug by
[@&#8203;konstin](https://togithub.com/konstin) in
[https://github.com/charliermarsh/ruff/pull/4399](https://togithub.com/charliermarsh/ruff/pull/4399)

#### New Contributors

- [@&#8203;OMEGARAZER](https://togithub.com/OMEGARAZER) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/3938](https://togithub.com/charliermarsh/ruff/pull/3938)
- [@&#8203;LotemAm](https://togithub.com/LotemAm) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4387](https://togithub.com/charliermarsh/ruff/pull/4387)

**Full Changelog**:
astral-sh/ruff@v0.0.266...v0.0.267

###
[`v0.0.266`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.266)

[Compare
Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.265...v0.0.266)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### Breaking Changes

- Remove deprecated `update-check` setting by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4313](https://togithub.com/charliermarsh/ruff/pull/4313)
- JSON Emitter: Use one indexed column numbers for edits by
[@&#8203;MichaReiser](https://togithub.com/MichaReiser) in
[https://github.com/charliermarsh/ruff/pull/4007](https://togithub.com/charliermarsh/ruff/pull/4007)

##### Rules

- \[`pygrep-hooks`] Implement pygrep-hook's Mock-mistake diagnostic by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4366](https://togithub.com/charliermarsh/ruff/pull/4366)
- \[`pylint`] Implement `nested-min-max` (`W3301`) by
[@&#8203;mccullocht](https://togithub.com/mccullocht) in
[https://github.com/charliermarsh/ruff/pull/4200](https://togithub.com/charliermarsh/ruff/pull/4200)
- \[`flynt`] Implement Flynt static string join transform as FLY002 by
[@&#8203;akx](https://togithub.com/akx) in
[https://github.com/charliermarsh/ruff/pull/4196](https://togithub.com/charliermarsh/ruff/pull/4196)
- \[`pylint`] Include positional- and keyword-only arguments in
too-many-arguments by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4329](https://togithub.com/charliermarsh/ruff/pull/4329)
- \[`ruff`] Update confusable character mapping by
[@&#8203;akx](https://togithub.com/akx) in
[https://github.com/charliermarsh/ruff/pull/4274](https://togithub.com/charliermarsh/ruff/pull/4274)

##### Settings

- Add .git-rewrite folder to default ignored folder paths by
[@&#8203;jleclanche](https://togithub.com/jleclanche) in
[https://github.com/charliermarsh/ruff/pull/4261](https://togithub.com/charliermarsh/ruff/pull/4261)
- Feat: detect changes also in configuration files by
[@&#8203;mikeleppane](https://togithub.com/mikeleppane) in
[https://github.com/charliermarsh/ruff/pull/4169](https://togithub.com/charliermarsh/ruff/pull/4169)

##### Bug Fixes

- Revert the B027 autofix logic by
[@&#8203;aacunningham](https://togithub.com/aacunningham) in
[https://github.com/charliermarsh/ruff/pull/4310](https://togithub.com/charliermarsh/ruff/pull/4310)
- Consider Flask app logger as logger candidate by
[@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in
[https://github.com/charliermarsh/ruff/pull/4253](https://togithub.com/charliermarsh/ruff/pull/4253)
- Enforce max-doc-length for multi-line docstrings by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4347](https://togithub.com/charliermarsh/ruff/pull/4347)
- Avoid re-using imports beyond current edit site by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4378](https://togithub.com/charliermarsh/ruff/pull/4378)
- Respect insertion location when importing symbols by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4258](https://togithub.com/charliermarsh/ruff/pull/4258)
- Fix jemalloc page size on aarch64 by
[@&#8203;MichaReiser](https://togithub.com/MichaReiser) in
[https://github.com/charliermarsh/ruff/pull/4247](https://togithub.com/charliermarsh/ruff/pull/4247)
- Fix replace_whitespace() tabulation to space by
[@&#8203;JonathanPlasse](https://togithub.com/JonathanPlasse) in
[https://github.com/charliermarsh/ruff/pull/4226](https://togithub.com/charliermarsh/ruff/pull/4226)
- Avoid fixing `PD002` in a lambda expression by
[@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in
[https://github.com/charliermarsh/ruff/pull/4286](https://togithub.com/charliermarsh/ruff/pull/4286)
- Avoid `D403` if first char cannot be uppercased by
[@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in
[https://github.com/charliermarsh/ruff/pull/4283](https://togithub.com/charliermarsh/ruff/pull/4283)
- Avoid panics for f-string rewrites at start-of-file by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4291](https://togithub.com/charliermarsh/ruff/pull/4291)
- Rewrite `not not a` as `bool(a)` in boolean contexts by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4294](https://togithub.com/charliermarsh/ruff/pull/4294)
- Include static and class methods in in abstract decorator list by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4298](https://togithub.com/charliermarsh/ruff/pull/4298)
- Specify exact command in incorrect parentheses suggestion by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4300](https://togithub.com/charliermarsh/ruff/pull/4300)
- Ignore `TRY301` exceptions without except handlers by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4301](https://togithub.com/charliermarsh/ruff/pull/4301)
- Preserve whitespace around `ListComp` brackets in `C419` by
[@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in
[https://github.com/charliermarsh/ruff/pull/4099](https://togithub.com/charliermarsh/ruff/pull/4099)
- Tweak capitalization of B021 message by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4350](https://togithub.com/charliermarsh/ruff/pull/4350)
- Avoid debug panic with empty indent replacement by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4364](https://togithub.com/charliermarsh/ruff/pull/4364)
- Use target name in hardcoded-password diagnostics by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4365](https://togithub.com/charliermarsh/ruff/pull/4365)
- Avoid underflow in expected-special-method-signature by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4377](https://togithub.com/charliermarsh/ruff/pull/4377)
- Respect `__all__` imports when determining definition visibility by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4357](https://togithub.com/charliermarsh/ruff/pull/4357)
- Ignore some methods on list in `flake8-boolean-trap` by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4385](https://togithub.com/charliermarsh/ruff/pull/4385)
- Fix false positives in PD002 by
[@&#8203;evanrittenhouse](https://togithub.com/evanrittenhouse) in
[https://github.com/charliermarsh/ruff/pull/4337](https://togithub.com/charliermarsh/ruff/pull/4337)
- Run autofix on initial watcher pass by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4311](https://togithub.com/charliermarsh/ruff/pull/4311)
- Avoid SIM105 autofixes that would remove comments by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4330](https://togithub.com/charliermarsh/ruff/pull/4330)
- Handle `.encode` calls on parenthesized expressions by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4338](https://togithub.com/charliermarsh/ruff/pull/4338)
- Truncate `SyntaxError`s before newline character by
[@&#8203;MichaReiser](https://togithub.com/MichaReiser) in
[https://github.com/charliermarsh/ruff/pull/4124](https://togithub.com/charliermarsh/ruff/pull/4124)
- Use non-empty ranges for logical-lines diagnostics by
[@&#8203;MichaReiser](https://togithub.com/MichaReiser) in
[https://github.com/charliermarsh/ruff/pull/4133](https://togithub.com/charliermarsh/ruff/pull/4133)

#### New Contributors

- [@&#8203;jleclanche](https://togithub.com/jleclanche) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4261](https://togithub.com/charliermarsh/ruff/pull/4261)
- [@&#8203;aureliojargas](https://togithub.com/aureliojargas) made their
first contribution in
[https://github.com/charliermarsh/ruff/pull/4306](https://togithub.com/charliermarsh/ruff/pull/4306)
- [@&#8203;intgr](https://togithub.com/intgr) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4304](https://togithub.com/charliermarsh/ruff/pull/4304)
- [@&#8203;mikeleppane](https://togithub.com/mikeleppane) made their
first contribution in
[https://github.com/charliermarsh/ruff/pull/4169](https://togithub.com/charliermarsh/ruff/pull/4169)
- [@&#8203;dependabot](https://togithub.com/dependabot) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4354](https://togithub.com/charliermarsh/ruff/pull/4354)

**Full Changelog**:
astral-sh/ruff@v0.0.265...v0.0.266

</details>

---

### Configuration

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

🚦 **Automerge**: Enabled.

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

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

---

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

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/allenporter/flux-local).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS43OS4xIiwidXBkYXRlZEluVmVyIjoiMzUuNzkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this pull request in allenporter/pyrainbird May 14, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [ruff](https://togithub.com/charliermarsh/ruff)
([changelog](https://togithub.com/charliermarsh/ruff/releases)) |
`==0.0.265` -> `==0.0.267` |
[![age](https://badges.renovateapi.com/packages/pypi/ruff/0.0.267/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/ruff/0.0.267/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/ruff/0.0.267/compatibility-slim/0.0.265)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/ruff/0.0.267/confidence-slim/0.0.265)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>charliermarsh/ruff</summary>

###
[`v0.0.267`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.267)

[Compare
Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.266...v0.0.267)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### Summary

Follow-up release to v0.0.266 to fix an issue with `python -m ruff`- and
`import ruff`-based workflows.

(No new rules or functionality.)

#### What's Changed

##### Rules

- Implement `RUF010` to detect explicit type conversions within
f-strings by [@&#8203;LotemAm](https://togithub.com/LotemAm) in
[https://github.com/charliermarsh/ruff/pull/4387](https://togithub.com/charliermarsh/ruff/pull/4387)

##### Other Changes

- Workaround for maturin bug by
[@&#8203;konstin](https://togithub.com/konstin) in
[https://github.com/charliermarsh/ruff/pull/4399](https://togithub.com/charliermarsh/ruff/pull/4399)

#### New Contributors

- [@&#8203;OMEGARAZER](https://togithub.com/OMEGARAZER) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/3938](https://togithub.com/charliermarsh/ruff/pull/3938)
- [@&#8203;LotemAm](https://togithub.com/LotemAm) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4387](https://togithub.com/charliermarsh/ruff/pull/4387)

**Full Changelog**:
astral-sh/ruff@v0.0.266...v0.0.267

###
[`v0.0.266`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.266)

[Compare
Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.265...v0.0.266)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### Breaking Changes

- Remove deprecated `update-check` setting by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4313](https://togithub.com/charliermarsh/ruff/pull/4313)
- JSON Emitter: Use one indexed column numbers for edits by
[@&#8203;MichaReiser](https://togithub.com/MichaReiser) in
[https://github.com/charliermarsh/ruff/pull/4007](https://togithub.com/charliermarsh/ruff/pull/4007)

##### Rules

- \[`pygrep-hooks`] Implement pygrep-hook's Mock-mistake diagnostic by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4366](https://togithub.com/charliermarsh/ruff/pull/4366)
- \[`pylint`] Implement `nested-min-max` (`W3301`) by
[@&#8203;mccullocht](https://togithub.com/mccullocht) in
[https://github.com/charliermarsh/ruff/pull/4200](https://togithub.com/charliermarsh/ruff/pull/4200)
- \[`flynt`] Implement Flynt static string join transform as FLY002 by
[@&#8203;akx](https://togithub.com/akx) in
[https://github.com/charliermarsh/ruff/pull/4196](https://togithub.com/charliermarsh/ruff/pull/4196)
- \[`pylint`] Include positional- and keyword-only arguments in
too-many-arguments by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4329](https://togithub.com/charliermarsh/ruff/pull/4329)
- \[`ruff`] Update confusable character mapping by
[@&#8203;akx](https://togithub.com/akx) in
[https://github.com/charliermarsh/ruff/pull/4274](https://togithub.com/charliermarsh/ruff/pull/4274)

##### Settings

- Add .git-rewrite folder to default ignored folder paths by
[@&#8203;jleclanche](https://togithub.com/jleclanche) in
[https://github.com/charliermarsh/ruff/pull/4261](https://togithub.com/charliermarsh/ruff/pull/4261)
- Feat: detect changes also in configuration files by
[@&#8203;mikeleppane](https://togithub.com/mikeleppane) in
[https://github.com/charliermarsh/ruff/pull/4169](https://togithub.com/charliermarsh/ruff/pull/4169)

##### Bug Fixes

- Revert the B027 autofix logic by
[@&#8203;aacunningham](https://togithub.com/aacunningham) in
[https://github.com/charliermarsh/ruff/pull/4310](https://togithub.com/charliermarsh/ruff/pull/4310)
- Consider Flask app logger as logger candidate by
[@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in
[https://github.com/charliermarsh/ruff/pull/4253](https://togithub.com/charliermarsh/ruff/pull/4253)
- Enforce max-doc-length for multi-line docstrings by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4347](https://togithub.com/charliermarsh/ruff/pull/4347)
- Avoid re-using imports beyond current edit site by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4378](https://togithub.com/charliermarsh/ruff/pull/4378)
- Respect insertion location when importing symbols by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4258](https://togithub.com/charliermarsh/ruff/pull/4258)
- Fix jemalloc page size on aarch64 by
[@&#8203;MichaReiser](https://togithub.com/MichaReiser) in
[https://github.com/charliermarsh/ruff/pull/4247](https://togithub.com/charliermarsh/ruff/pull/4247)
- Fix replace_whitespace() tabulation to space by
[@&#8203;JonathanPlasse](https://togithub.com/JonathanPlasse) in
[https://github.com/charliermarsh/ruff/pull/4226](https://togithub.com/charliermarsh/ruff/pull/4226)
- Avoid fixing `PD002` in a lambda expression by
[@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in
[https://github.com/charliermarsh/ruff/pull/4286](https://togithub.com/charliermarsh/ruff/pull/4286)
- Avoid `D403` if first char cannot be uppercased by
[@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in
[https://github.com/charliermarsh/ruff/pull/4283](https://togithub.com/charliermarsh/ruff/pull/4283)
- Avoid panics for f-string rewrites at start-of-file by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4291](https://togithub.com/charliermarsh/ruff/pull/4291)
- Rewrite `not not a` as `bool(a)` in boolean contexts by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4294](https://togithub.com/charliermarsh/ruff/pull/4294)
- Include static and class methods in in abstract decorator list by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4298](https://togithub.com/charliermarsh/ruff/pull/4298)
- Specify exact command in incorrect parentheses suggestion by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4300](https://togithub.com/charliermarsh/ruff/pull/4300)
- Ignore `TRY301` exceptions without except handlers by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4301](https://togithub.com/charliermarsh/ruff/pull/4301)
- Preserve whitespace around `ListComp` brackets in `C419` by
[@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in
[https://github.com/charliermarsh/ruff/pull/4099](https://togithub.com/charliermarsh/ruff/pull/4099)
- Tweak capitalization of B021 message by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4350](https://togithub.com/charliermarsh/ruff/pull/4350)
- Avoid debug panic with empty indent replacement by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4364](https://togithub.com/charliermarsh/ruff/pull/4364)
- Use target name in hardcoded-password diagnostics by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4365](https://togithub.com/charliermarsh/ruff/pull/4365)
- Avoid underflow in expected-special-method-signature by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4377](https://togithub.com/charliermarsh/ruff/pull/4377)
- Respect `__all__` imports when determining definition visibility by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4357](https://togithub.com/charliermarsh/ruff/pull/4357)
- Ignore some methods on list in `flake8-boolean-trap` by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4385](https://togithub.com/charliermarsh/ruff/pull/4385)
- Fix false positives in PD002 by
[@&#8203;evanrittenhouse](https://togithub.com/evanrittenhouse) in
[https://github.com/charliermarsh/ruff/pull/4337](https://togithub.com/charliermarsh/ruff/pull/4337)
- Run autofix on initial watcher pass by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4311](https://togithub.com/charliermarsh/ruff/pull/4311)
- Avoid SIM105 autofixes that would remove comments by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4330](https://togithub.com/charliermarsh/ruff/pull/4330)
- Handle `.encode` calls on parenthesized expressions by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4338](https://togithub.com/charliermarsh/ruff/pull/4338)
- Truncate `SyntaxError`s before newline character by
[@&#8203;MichaReiser](https://togithub.com/MichaReiser) in
[https://github.com/charliermarsh/ruff/pull/4124](https://togithub.com/charliermarsh/ruff/pull/4124)
- Use non-empty ranges for logical-lines diagnostics by
[@&#8203;MichaReiser](https://togithub.com/MichaReiser) in
[https://github.com/charliermarsh/ruff/pull/4133](https://togithub.com/charliermarsh/ruff/pull/4133)

#### New Contributors

- [@&#8203;jleclanche](https://togithub.com/jleclanche) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4261](https://togithub.com/charliermarsh/ruff/pull/4261)
- [@&#8203;aureliojargas](https://togithub.com/aureliojargas) made their
first contribution in
[https://github.com/charliermarsh/ruff/pull/4306](https://togithub.com/charliermarsh/ruff/pull/4306)
- [@&#8203;intgr](https://togithub.com/intgr) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4304](https://togithub.com/charliermarsh/ruff/pull/4304)
- [@&#8203;mikeleppane](https://togithub.com/mikeleppane) made their
first contribution in
[https://github.com/charliermarsh/ruff/pull/4169](https://togithub.com/charliermarsh/ruff/pull/4169)
- [@&#8203;dependabot](https://togithub.com/dependabot) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4354](https://togithub.com/charliermarsh/ruff/pull/4354)

**Full Changelog**:
astral-sh/ruff@v0.0.265...v0.0.266

</details>

---

### Configuration

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

🚦 **Automerge**: Enabled.

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

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

---

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

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/allenporter/pyrainbird).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS43OS4xIiwidXBkYXRlZEluVmVyIjoiMzUuNzkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Some errors not fit into one line
2 participants