Skip to content
3 changes: 3 additions & 0 deletions coverage/phystokens.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,9 @@ def _phys_tokens(toks: TokenInfos) -> TokenInfos:
# It's a multi-line string and the first line ends with
# a backslash, so we don't need to inject another.
inject_backslash = False
elif sys.version_info >= (3, 12) and ttype == token.FSTRING_MIDDLE:
if ttext.split("\n", 1)[0][-1] == "\\":
inject_backslash = False
if inject_backslash:
# Figure out what column the backslash is in.
ccol = len(last_line.split("\n")[-2]) - 1
Expand Down