From 41dec4158d880a3fd200a84683521fe4ea618992 Mon Sep 17 00:00:00 2001 From: Pablo Galindo Salgado Date: Wed, 23 Apr 2025 14:27:53 +0100 Subject: [PATCH] gh-132449: Add whatsnew entry for typos in keywords (#132838) --- Doc/whatsnew/3.14.rst | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/Doc/whatsnew/3.14.rst b/Doc/whatsnew/3.14.rst index 63a5bab7fe8f..0f73b0e73195 100644 --- a/Doc/whatsnew/3.14.rst +++ b/Doc/whatsnew/3.14.rst @@ -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 "", line 1 + whille True: + ^^^^^^ + SyntaxError: invalid syntax. Did you mean 'while'? + + >>> asynch def fetch_data(): + ... pass + Traceback (most recent call last): + File "", 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 "", line 2 + awaid fetch_data() + ^^^^^ + SyntaxError: invalid syntax. Did you mean 'await'? + + >>> raisee ValueError("Error") + Traceback (most recent call last): + File "", 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`.) -- 2.47.3