diff --git a/CHANGES.md b/CHANGES.md index 1c53604d4d5..7e356f1f29c 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -7,6 +7,9 @@ - `Black` now respects `--skip-string-normalization` when normalizing multiline docstring quotes (#1637) +- `Black` no longer adds an incorrect space after a parenthesized assignment expression + in if/while statements (#1655) + - fixed a crash when PWD=/ on POSIX (#1631) ### 20.8b1 diff --git a/docs/change_log.md b/docs/change_log.md index b7337166659..cc5015f873c 100644 --- a/docs/change_log.md +++ b/docs/change_log.md @@ -9,6 +9,11 @@ - `Black` now respects `--skip-string-normalization` when normalizing multiline docstring quotes (#1637) +- `Black` no longer adds an incorrect space after a parenthesized assignment expression + in if/while statements (#1655) + +- fixed a crash when PWD=/ on POSIX (#1631) + ### 20.8b1 #### _Packaging_ diff --git a/src/black/__init__.py b/src/black/__init__.py index 048e771ce96..64a18655905 100644 --- a/src/black/__init__.py +++ b/src/black/__init__.py @@ -5190,9 +5190,9 @@ def normalize_invisible_parens(node: Node, parens_after: Set[str]) -> None: if check_lpar: if is_walrus_assignment(child): - continue + pass - if child.type == syms.atom: + elif child.type == syms.atom: if maybe_make_parens_invisible_in_atom(child, parent=node): wrap_in_parentheses(node, child, visible=False) elif is_one_tuple(child): diff --git a/tests/data/pep_572.py b/tests/data/pep_572.py index 9e429f913ce..637b3bb38c6 100644 --- a/tests/data/pep_572.py +++ b/tests/data/pep_572.py @@ -2,6 +2,8 @@ (a := a) if (match := pattern.search(data)) is None: pass +if (match := pattern.search(data)): + pass [y := f(x), y ** 2, y ** 3] filtered_data = [y for x in data if (y := f(x)) is None] (y := f(x)) @@ -41,3 +43,5 @@ def foo(answer: (p := 42) = 5): while x := f(x): pass +while (x := f(x)): + pass