Open
Description
Bug report
Bug description:
In the grammar file, a soft keyword being the start of an expression makes it fail the path where the error message has this appended: "Perhaps you forgot a comma?
"
However, it also apparently does the same thing for any identifer that is a prefix of any soft keyword.
>>> # multi-letter cases
>>> # fine, expected behavior
>>> (test x)
File "<stdin>", line 1
(test x)
^^^^^^
SyntaxError: invalid syntax. Perhaps you forgot a comma?
>>> (match_ x)
File "<stdin>", line 1
(match_ x)
^^^^^^^^
SyntaxError: invalid syntax. Perhaps you forgot a comma?
>>> (match x)
File "<stdin>", line 1
(match x)
^
SyntaxError: invalid syntax
>>> # unexpected behavior
>>> (ma x)
File "<stdin>", line 1
(ma x)
^
SyntaxError: invalid syntax
>>> # single-letter bugs
>>> # expected behavior
>>> (f x)
File "<stdin>", line 1
(f x)
^^^
SyntaxError: invalid syntax. Perhaps you forgot a comma?
>>> # unexpected behavior
>>> (m x)
File "<stdin>", line 1
(m x)
^
SyntaxError: invalid syntax
Since m
is a prefix of match
, "forgetting a comma" (i.e. being in a situation that normally triggers that specific error) doesn't provide the same error message as other "normal" identifiers.
CPython versions tested on:
3.14
Operating systems tested on:
Windows