[issue44885] Incorrect exception highlighting for fstring format

Pablo Galindo Salgado report at bugs.python.org
Wed Aug 11 11:13:10 EDT 2021


Pablo Galindo Salgado <pablogsal at gmail.com> added the comment:

Actually, this has even more problems. Because we are using strstr to find the start of the expression in the parent string, if the expression is repeated the offsets are incorrectly generated:

For example:

print(f"Here is that {xxx} pesky {xxx} again")

This produces:

...
                     FormattedValue(
                        value=Name(
                           id='xxx',
                           ctx=Load(),
                           lineno=1,
                           col_offset=22,
                           end_lineno=1,
                           end_col_offset=25),
...
                     FormattedValue(
                        value=Name(
                           id='xxxx',
                           ctx=Load(),
                           lineno=1,
                           col_offset=22,
                           end_lineno=1,
                           end_col_offset=25),
...

while

print(f"Here is that {xxx} pesky {xxxx} again")

(different variables) produces:

...
                     FormattedValue(
                        value=Name(
                           id='xxx',
                           ctx=Load(),
                           lineno=1,
                           col_offset=22,
                           end_lineno=1,
                           end_col_offset=25),
...
                     FormattedValue(
                        value=Name(
                           id='xxxx',
                           ctx=Load(),
                           lineno=1,
                           col_offset=34,
                           end_lineno=1,
                           end_col_offset=38),
...

----------

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue44885>
_______________________________________


More information about the Python-bugs-list mailing list