mirror of
https://github.com/python/cpython.git
synced 2024-11-27 11:55:13 +08:00
gh-92256: Improve Argument Clinic parser error messages (#92268)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com> Co-authored-by: Victor Stinner <vstinner@python.org>
This commit is contained in:
parent
f1bbcba74f
commit
4bd07d1dbd
@ -1628,10 +1628,16 @@ class BlockParser:
|
||||
def is_stop_line(line):
|
||||
# make sure to recognize stop line even if it
|
||||
# doesn't end with EOL (it could be the very end of the file)
|
||||
if not line.startswith(stop_line):
|
||||
if line.startswith(stop_line):
|
||||
remainder = line[len(stop_line):]
|
||||
if remainder and not remainder.isspace():
|
||||
fail(f"Garbage after stop line: {remainder!r}")
|
||||
return True
|
||||
else:
|
||||
# gh-92256: don't allow incorrectly formatted stop lines
|
||||
if line.lstrip().startswith(stop_line):
|
||||
fail(f"Whitespace is not allowed before the stop line: {line!r}")
|
||||
return False
|
||||
remainder = line[len(stop_line):]
|
||||
return (not remainder) or remainder.isspace()
|
||||
|
||||
# consume body of program
|
||||
while self.input:
|
||||
|
Loading…
Reference in New Issue
Block a user