Skip to content

Commit

Permalink
tokenizer: skip lines that are just slash and whitespace (#4343)
Browse files Browse the repository at this point in the history
  • Loading branch information
tusharsadhwani authored Jun 1, 2024
1 parent 8447af4 commit b677a64
Show file tree
Hide file tree
Showing 6 changed files with 37 additions and 1 deletion.
1 change: 1 addition & 0 deletions AUTHORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,7 @@ Multiple contributions by:
- [Tony Narlock](mailto:tony@git-pull.com)
- [Tsuyoshi Hombashi](mailto:tsuyoshi.hombashi@gmail.com)
- [Tushar Chandra](mailto:tusharchandra2018@u.northwestern.edu)
- [Tushar Sadhwani](mailto:tushar.sadhwani000@gmail.com)
- [Tzu-ping Chung](mailto:uranusjr@gmail.com)
- [Utsav Shah](mailto:ukshah2@illinois.edu)
- utsav-dbx
Expand Down
2 changes: 2 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@
- Fix regression where Black failed to parse a multiline f-string containing another
multiline string (#4339)

- Fix bug with Black incorrectly parsing empty lines with a backslash (#4343)

### Performance

<!-- Changes that improve Black's performance. -->
Expand Down
6 changes: 6 additions & 0 deletions src/blib2to3/pgen2/tokenize.py
Original file line number Diff line number Diff line change
Expand Up @@ -608,6 +608,12 @@ def generate_tokens(
except StopIteration:
line = ""
lnum += 1

# skip lines that are just indent characters ending with a slash
# to avoid storing that line's indent information.
if not contstr and line.rstrip("\n").strip(" \t\f") == "\\":
continue

pos, max = 0, len(line)

if contstr: # continued string
Expand Down
24 changes: 24 additions & 0 deletions tests/data/cases/backslash_before_indent.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# flags: --minimum-version=3.10
class Plotter:
\
pass

class AnotherCase:
\
"""Some
\
Docstring
"""

# output

class Plotter:

pass


class AnotherCase:
"""Some
\
Docstring
"""
4 changes: 3 additions & 1 deletion tests/data/cases/comment_after_escaped_newline.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,7 @@ def bob(): # pylint: disable=W9016
pass


def bobtwo(): # some comment here
def bobtwo():

# some comment here
pass
1 change: 1 addition & 0 deletions tests/data/cases/form_feeds.py
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,7 @@ def something(self):

#


#
pass

Expand Down

0 comments on commit b677a64

Please sign in to comment.