Fix an f-string crash in ESP. (#3463)
This commit is contained in:
parent
9ce75726fc
commit
1e8217fd62
@ -19,6 +19,8 @@
|
||||
- Fix a crash in preview style with assert + parenthesized string (#3415)
|
||||
- Fix crashes in preview style with walrus operators used in function return annotations
|
||||
and except clauses (#3423)
|
||||
- Fix a crash in preview advanced string processing where mixed implicitly concatenated
|
||||
regular and f-strings start with an empty span (#3463)
|
||||
- Do not put the closing quotes in a docstring on a separate line, even if the line is
|
||||
too long (#3430)
|
||||
- Long values in dict literals are now wrapped in parentheses; correspondingly
|
||||
|
@ -1359,9 +1359,14 @@ def more_splits_should_be_made() -> bool:
|
||||
# prefix, and the current custom split did NOT originally use a
|
||||
# prefix...
|
||||
if (
|
||||
next_value != self._normalize_f_string(next_value, prefix)
|
||||
and use_custom_breakpoints
|
||||
use_custom_breakpoints
|
||||
and not csplit.has_prefix
|
||||
and (
|
||||
# `next_value == prefix + QUOTE` happens when the custom
|
||||
# split is an empty string.
|
||||
next_value == prefix + QUOTE
|
||||
or next_value != self._normalize_f_string(next_value, prefix)
|
||||
)
|
||||
):
|
||||
# Then `csplit.break_idx` will be off by one after removing
|
||||
# the 'f' prefix.
|
||||
|
@ -531,6 +531,18 @@ async def foo(self):
|
||||
r"signiferumque, duo ea vocibus consetetur scriptorem. Facer \t",
|
||||
}
|
||||
|
||||
# Regression test for https://github.com/psf/black/issues/3459.
|
||||
xxxx(
|
||||
empty_str_as_first_split=''
|
||||
f'xxxxxxx {xxxxxxxxxx} xxx xxxxxxxxxx xxxxx xxx xxx xx '
|
||||
'xxxxx xxxxxxxxx xxxxxxx, xxx xxxxxxxxxxx xxx xxxxx. '
|
||||
f'xxxxxxxxxxxxx xxxx xx xxxxxxxxxx. xxxxx: {x.xxx}',
|
||||
empty_u_str_as_first_split=u''
|
||||
f'xxxxxxx {xxxxxxxxxx} xxx xxxxxxxxxx xxxxx xxx xxx xx '
|
||||
'xxxxx xxxxxxxxx xxxxxxx, xxx xxxxxxxxxxx xxx xxxxx. '
|
||||
f'xxxxxxxxxxxxx xxxx xx xxxxxxxxxx. xxxxx: {x.xxx}',
|
||||
)
|
||||
|
||||
|
||||
# output
|
||||
|
||||
@ -1193,3 +1205,19 @@ async def foo(self):
|
||||
r"signiferumque, duo ea vocibus consetetur scriptorem. Facer \t"
|
||||
),
|
||||
}
|
||||
|
||||
# Regression test for https://github.com/psf/black/issues/3459.
|
||||
xxxx(
|
||||
empty_str_as_first_split=(
|
||||
""
|
||||
f"xxxxxxx {xxxxxxxxxx} xxx xxxxxxxxxx xxxxx xxx xxx xx "
|
||||
"xxxxx xxxxxxxxx xxxxxxx, xxx xxxxxxxxxxx xxx xxxxx. "
|
||||
f"xxxxxxxxxxxxx xxxx xx xxxxxxxxxx. xxxxx: {x.xxx}"
|
||||
),
|
||||
empty_u_str_as_first_split=(
|
||||
""
|
||||
f"xxxxxxx {xxxxxxxxxx} xxx xxxxxxxxxx xxxxx xxx xxx xx "
|
||||
"xxxxx xxxxxxxxx xxxxxxx, xxx xxxxxxxxxxx xxx xxxxx. "
|
||||
f"xxxxxxxxxxxxx xxxx xx xxxxxxxxxx. xxxxx: {x.xxx}"
|
||||
),
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user