Skip to content

gh-132449: Add whatsnew entry for typos in keywords #132838

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Apr 23, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions Doc/whatsnew/3.14.rst
Original file line number Diff line number Diff line change
Expand Up @@ -264,6 +264,49 @@ is unchanged.
Improved error messages
-----------------------

* The interpreter now provides helpful suggestions when it detects typos in Python
keywords. When a word that closely resembles a Python keyword is encountered,
the interpreter will suggest the correct keyword in the error message. This
feature helps programmers quickly identify and fix common typing mistakes. For
example:

.. code-block:: python

>>> whille True:
... pass
Traceback (most recent call last):
File "<stdin>", line 1
whille True:
^^^^^^
SyntaxError: invalid syntax. Did you mean 'while'?

>>> asynch def fetch_data():
... pass
Traceback (most recent call last):
File "<stdin>", line 1
asynch def fetch_data():
^^^^^^
SyntaxError: invalid syntax. Did you mean 'async'?

>>> async def foo():
... awaid fetch_data()
Traceback (most recent call last):
File "<stdin>", line 2
awaid fetch_data()
^^^^^
SyntaxError: invalid syntax. Did you mean 'await'?

>>> raisee ValueError("Error")
Traceback (most recent call last):
File "<stdin>", line 1
raisee ValueError("Error")
^^^^^^
SyntaxError: invalid syntax. Did you mean 'raise'?

While the feature focuses on the most common cases, some variations of
misspellings may still result in regular syntax errors.
(Contributed by Pablo Galindo in :gh:`132449`.)

* When unpacking assignment fails due to incorrect number of variables, the
error message prints the received number of values in more cases than before.
(Contributed by Tushar Sadhwani in :gh:`122239`.)
Expand Down
Loading