cpython/Lib
Miss Islington (bot) ae1732d461
bpo-44180: Fix edge cases in invalid assigment rules in the parser (GH-26283)
The invalid assignment rules are very delicate since the parser can
easily raise an invalid assignment when a keyword argument is provided.
As they are very deep into the grammar tree, is very difficult to
specify in which contexts these rules can be used and in which don't.
For that, we need to use a different version of the rule that doesn't do
error checking in those situations where we don't want the rule to raise
(keyword arguments and generator expressions).

We also need to check if we are in left-recursive rule, as those can try
to eagerly advance the parser even if the parse will fail at the end of
the expression. Failing to do this allows the parser to start parsing a
call as a tuple and incorrectly identify a keyword argument as an
invalid assignment, before it realizes that it was not a tuple after all.
(cherry picked from commit c878a97968)

Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
2021-05-21 11:20:43 -07:00
..
asyncio bpo-44011: Revert "New asyncio ssl implementation (GH-17975)" (GH-25848) 2021-05-03 16:21:59 +01:00
collections bpo-25478: Add total() method to collections.Counter (GH-25829) 2021-05-02 20:19:51 -07:00
concurrent bpo-35930: Raising an exception raised in a "future" instance will create reference cycles (#24995) 2021-03-29 19:22:13 +02:00
ctypes bpo-32745: Fix a regression in the handling of ctypes' c_wchar_p type (#8721) 2021-05-02 12:40:01 +02:00
curses
dbm
distutils Fix import of HTTPError (GH-22304) (GH-26047) 2021-05-11 16:18:13 -07:00
email bpo-43125: Fix: return expected type (str), not original value (bytes) in email/base64mime.py::body_encode (GH-24476) 2021-03-30 17:37:37 +09:00
encodings bpo-39337: encodings.normalize_encoding() now ignores non-ASCII characters (GH-22219) 2020-10-14 17:43:31 +02:00
ensurepip bpo-43993: Update vendored pip to 21.1.1 (GH-25761) 2021-05-01 10:15:19 +01:00
html bpo-41748: Handles unquoted attributes with commas (#24072) 2021-02-01 21:32:50 +01:00
http bpo-43972: Set content-length to 0 for http.server.SimpleHTTPRequestHandler 301s (GH-25705) 2021-05-06 12:48:36 -07:00
idlelib bpo-44010: IDLE: colorize pattern-matching soft keywords (GH-25851) 2021-05-19 02:44:14 -07:00
importlib [3.10] bpo-43643: Sync with python/importlib_resources@c17a610aad. (GH-26284) (GH-26286) 2021-05-21 10:52:24 -07:00
json
lib2to3 bpo-43844: Fix PendingDeprecationWarning in test_lib2to3 (GH-25407) 2021-04-16 11:27:00 +02:00
logging bpo-43731: Add an encoding parameter to logging.fileConfig() (GH-25273) 2021-04-13 18:17:03 +09:00
msilib
multiprocessing bpo-43867: multiprocessing Server catchs SystemExit (GH-25441) 2021-04-16 19:42:34 +02:00
pydoc_data Python 3.10.0b1 2021-05-03 20:34:56 +01:00
site-packages
sqlite3 bpo-44108: sqlite3 test suite now works with SQLITE_DQS=0 (GH-26032) (GH-26125) 2021-05-14 20:07:24 +09:00
test bpo-44180: Fix edge cases in invalid assigment rules in the parser (GH-26283) 2021-05-21 11:20:43 -07:00
tkinter bpo-41730: Show deprecation warnings for tkinter.tix (GH-22186) 2021-05-07 09:14:48 -07:00
turtledemo Fix typo in turtledemo.two_canvases. (GH-25194) 2021-04-05 13:19:13 -04:00
unittest bpo-43478: Restrict use of Mock objects as specs (GH-25326) 2021-04-09 20:45:50 -07:00
urllib bpo-43882 Remove the newline, and tab early. From query and fragments. (GH-25936) 2021-05-05 16:04:38 -07:00
venv bpo-35328: Set VIRTUAL_ENV_PROMPT at venv activation (GH-21587) 2020-07-28 09:41:57 +01:00
wsgiref
xml bpo-43399: Fix ElementTree.extend not working on iterators (GH-24751) 2021-03-31 00:11:29 +03:00
xmlrpc bpo-43433: Preserve query and fragment in the URL of the server in ServerProxy. (GH-25057) 2021-03-29 22:39:31 +09:00
zoneinfo fix typo in warning (#20620) 2021-04-25 10:45:05 -07:00
__future__.py Set the release for __future__.annotations to 3.11 (#25596) 2021-04-25 17:09:24 +01:00
__phello__.foo.py
_aix_support.py
_bootsubprocess.py
_collections_abc.py bpo-43977: Use tp_flags for collection matching (GH-25723) 2021-04-30 09:50:28 +01:00
_compat_pickle.py
_compression.py bpo-41486: Faster bz2/lzma/zlib via new output buffering (GH-21740) 2021-04-27 23:58:54 -07:00
_markupbase.py
_osx_support.py bpo-43568: Drop support for MACOSX_DEPLOYMENT_TARGET < 10.3 (GH-25827) 2021-05-02 20:28:43 -04:00
_py_abc.py
_pydecimal.py bpo-43475: Fix worst case collision behavior for NaN instances (GH-25493) 2021-04-22 08:34:57 -07:00
_pyio.py bpo-43680: Deprecate io.OpenWrapper (GH-25357) 2021-04-14 03:24:33 +02:00
_sitebuiltins.py bpo-43651: PEP 597: Fix EncodingWarning in some tests (GH-25189) 2021-04-06 11:18:41 +09:00
_strptime.py bpo-43295: Fix error handling of datetime.strptime format string '%z' (GH-24627) 2021-03-03 08:58:57 -08:00
_threading_local.py
_weakrefset.py
abc.py bpo-41905: Add abc.update_abstractmethods() (GH-22485) 2020-10-06 10:40:50 -07:00
aifc.py
antigravity.py
argparse.py bpo-9694: Fix misleading phrase "optional arguments" (GH-23858) 2020-12-23 09:40:56 -08:00
ast.py Fix typo in ast.py (GH-25740) 2021-05-04 06:39:16 -07:00
asynchat.py
asyncore.py bpo-42427: Use the errno attribute of OSError instead of args[0] (GH-23449) 2020-11-22 10:28:34 +02:00
base64.py bpo-39068: Fix race condition in base64 (GH-17627) 2020-12-31 11:44:46 +02:00
bdb.py fix docstring typo in bdb.py (GH-22323) (#26179) 2021-05-17 00:42:56 +01:00
binhex.py bpo-29566: binhex.binhex now consitently writes MacOS 9 line endings. (GH-23059) 2020-11-01 01:08:48 -08:00
bisect.py bpo-4356: Add key function support to the bisect module (GH-20556) 2020-10-19 22:04:01 -07:00
bz2.py bpo-43787: Add __iter__ to GzipFile, BZ2File, and LZMAFile (GH-25353) 2021-04-13 13:51:49 +09:00
calendar.py
cgi.py bpo-41139: Deprecate cgi.log() (GH-25625) 2021-04-29 11:36:04 +09:00
cgitb.py
chunk.py
cmd.py
code.py
codecs.py bpo-14014: Clarify StreamWriter.reset() documentation (GH-13716) 2021-01-06 04:14:42 +02:00
codeop.py bpo-43202: More codeop._maybe_compile clean-ups (GH-24512) 2021-02-13 01:49:18 -05:00
colorsys.py bpo-42452: Improve colorsys.rgb_to_hls code (GH-23306) 2020-11-28 02:11:19 -05:00
compileall.py bpo-43651: Fix test_compileall with PEP 597 (GH-25128) 2021-04-02 09:01:57 +09:00
configparser.py [3.10] bpo-41963: document that ConfigParser strips off comments (GH-26197) (GH-26214) 2021-05-18 19:03:09 +02:00
contextlib.py bpo-42395: Add aclosing to __all__ (GH-23356) 2020-11-17 15:18:05 -08:00
contextvars.py
copy.py
copyreg.py bpo-41052: Fix pickling heap types implemented in C with protocols 0 and 1 (GH-22870) 2020-10-24 21:14:23 +03:00
cProfile.py bpo-42005: profile and cProfile catch BrokenPipeError (GH-22643) 2021-01-20 09:56:21 +01:00
crypt.py
csv.py
dataclasses.py bpo-44015: dataclasses should allow KW_ONLY to be specified only once per class (GH-25841) 2021-05-03 03:24:53 -04:00
datetime.py Fix typo (GH-23019) 2021-02-03 13:25:28 -08:00
decimal.py
difflib.py
dis.py bpo-27129: Use instruction offsets, not byte offsets, in bytecode and internally. (GH-25069) 2021-04-01 16:00:31 +01:00
doctest.py bpo-35753: Fix crash in doctest with unwrap-able functions (GH-22981) (#25926) 2021-05-05 20:01:21 +02:00
enum.py bpo-43957: Add a missins space to the new format enum warning (#25770) 2021-05-01 20:26:09 +01:00
filecmp.py bpo-15450: Allow subclassing of dircmp (GH-23424) (#23424) 2020-11-23 18:29:37 +02:00
fileinput.py bpo-43651: Fix EncodingWarning in fileinput and its test (GH-25648) 2021-04-27 15:47:16 +09:00
fnmatch.py bpo-36769: Document that fnmatch.filter supports any kind of iterable (#13039) 2020-12-18 20:10:20 +01:00
fractions.py bpo-43420: Simple optimizations for Fraction's arithmetics (GH-24779) 2021-03-21 21:30:55 -05:00
ftplib.py bpo-43285 Make ftplib not trust the PASV response. (GH-24838) 2021-03-15 11:39:31 -07:00
functools.py
genericpath.py
getopt.py
getpass.py update docstring for win_getpass to reflect code changes (GH-24967) 2021-05-04 00:08:09 -07:00
gettext.py
glob.py bpo-43756: Add new audit event for new arguments added to glob.glob (GH-25239) 2021-04-21 23:42:55 +01:00
graphlib.py [doc] Fix typo in the graphlib docs (GH-22661) 2020-10-12 07:33:34 -07:00
gzip.py [3.10] Fix typo in comment (GH-26162) (GH-26164) 2021-05-16 11:08:57 -07:00
hashlib.py bpo-43880: Show DeprecationWarnings for deprecated ssl module features (GH-25455) 2021-04-19 07:27:10 +02:00
heapq.py Revert "Fix all Python Cookbook links (#22205)" (GH-22424) 2020-09-27 01:47:25 +01:00
hmac.py bpo-40645: use C implementation of HMAC (GH-24920) 2021-03-27 06:55:03 -07:00
imaplib.py
imghdr.py
imp.py bpo-43720: Update import-related stdlib deprecation messages to say they will be removed in Python 3.12 (GH-25167) 2021-04-03 15:31:15 -07:00
inspect.py bpo-43817: Add inspect.get_annotations(). (#25522) 2021-04-29 21:16:28 -07:00
io.py bpo-43680: Deprecate io.OpenWrapper (GH-25357) 2021-04-14 03:24:33 +02:00
ipaddress.py bpo-33433 Fix private address checking for IPv4 mapped IPv6. (GH-26172) 2021-05-17 12:42:08 -07:00
keyword.py bpo-42128: Structural Pattern Matching (PEP 634) (GH-22917) 2021-02-26 14:51:55 -08:00
linecache.py bpo-42133: update parts of the stdlib to fall back to __spec__.loader when __loader__ is missing (#22929) 2020-11-06 18:45:56 -08:00
locale.py bpo-34311: Add locale.localize (GH-15275) 2021-04-12 14:17:40 +02:00
lzma.py bpo-43787: Add __iter__ to GzipFile, BZ2File, and LZMAFile (GH-25353) 2021-04-13 13:51:49 +09:00
mailbox.py
mailcap.py
mimetypes.py bpo-43542: Add heif/heic formats in mimetypes (GH-24917) 2021-03-20 16:06:27 -07:00
modulefinder.py
netrc.py bpo-43733: netrc try to use UTF-8 before using locale encoding. (GH-25781) 2021-05-02 14:01:02 +09:00
nntplib.py
ntpath.py bpo-43757: Make pathlib use os.path.realpath() to resolve symlinks in a path (GH-25264) 2021-04-28 16:50:17 +01:00
nturl2path.py bpo-43607: Fix urllib handling of Windows paths with \\?\ prefix (GH-25539) 2021-04-23 18:02:47 +01:00
numbers.py bpo-44072: fix Complex, Integral docs for ** (GH-25986) 2021-05-14 15:22:45 -07:00
opcode.py bpo-43754: Eliminate bindings for partial pattern matches (GH-25229) 2021-05-02 13:02:10 -07:00
operator.py
optparse.py
os.py bpo-43651: Fix EncodingWarning in os.fdopen() and test_os (GH-25654) 2021-04-29 11:35:36 +09:00
pathlib.py bpo-39950: Fix deprecation warning in test for pathlib.Path.link_to() (GH-26155) (GH-26178) 2021-05-16 15:35:44 -07:00
pdb.py bpo-28528: Fix pdb.checkline() attribute error when 'curframe' is None. (GH-25438) (#26050) 2021-05-12 00:48:05 +01:00
pickle.py bpo-43907: add missing memoize call in pure python pickling of bytearray (GH-25501) 2021-04-23 23:27:14 +02:00
pickletools.py
pipes.py
pkgutil.py bpo-43720: Update import-related stdlib deprecation messages to say they will be removed in Python 3.12 (GH-25167) 2021-04-03 15:31:15 -07:00
platform.py bpo-43284: Update platform.win32_ver to use _syscmd_ver instead of sys.getwindowsversion() (GH-25500) 2021-04-22 17:43:37 +01:00
plistlib.py bpo-40066: Enum: modify repr() and str() (GH-22392) 2021-03-30 21:17:26 -07:00
poplib.py
posixpath.py bpo-43757: Make pathlib use os.path.realpath() to resolve symlinks in a path (GH-25264) 2021-04-28 16:50:17 +01:00
pprint.py bpo-43080: pprint for dataclass instances (GH-24389) 2021-04-13 19:59:24 -04:00
profile.py bpo-42005: profile and cProfile catch BrokenPipeError (GH-22643) 2021-01-20 09:56:21 +01:00
pstats.py bpo-38659: [Enum] add _simple_enum decorator (GH-25497) 2021-04-21 10:20:44 -07:00
pty.py
py_compile.py bpo-38731: Add --quiet option to py_compile CLI (GH-17134) 2020-07-25 22:58:45 +03:00
pyclbr.py bpo-40443: Remove unused imports (GH-25429) 2021-04-16 11:26:06 +02:00
pydoc.py bpo-43651: Fix EncodingWarning in pydoc. (GH-25644) 2021-04-27 12:46:20 +09:00
queue.py
quopri.py
random.py bpo-44018: random.seed() no longer mutates its inputs (GH-25856) (GH-25872) 2021-05-03 19:45:30 -07:00
re.py bpo-38659: [Enum] add _simple_enum decorator (GH-25497) 2021-04-21 10:20:44 -07:00
reprlib.py
rlcompleter.py
runpy.py bpo-41718: runpy now imports pkgutil in functions (GH-24996) 2021-03-23 19:22:57 +01:00
sched.py bpo-19270: Fixed sched.scheduler.cancel to cancel correct event (GH-22729) 2020-10-19 10:33:43 +03:00
secrets.py
selectors.py bpo-41182 selector: use DefaultSelector based upon implementation (GH-21257) 2020-07-22 20:13:37 -07:00
shelve.py bpo-34204: Use pickle.DEFAULT_PROTOCOL in shelve (GH-19639) 2020-10-29 02:44:35 -07:00
shlex.py
shutil.py bpo-43650: Fix MemoryError on zip.read in shutil._unpack_zipfile for large files (GH-25058) (GH-26190) 2021-05-17 10:35:30 -07:00
signal.py
site.py bpo-43510: Implement PEP 597 opt-in EncodingWarning. (GH-19481) 2021-03-29 12:28:14 +09:00
smtpd.py bpo-42427: Use the errno attribute of OSError instead of args[0] (GH-23449) 2020-11-22 10:28:34 +02:00
smtplib.py Quick pydoc update to smtplib.py (GH-22292) 2021-04-25 18:56:37 -07:00
sndhdr.py
socket.py bpo-43651: PEP 597: Fix socket.makefile() (GH-25645) 2021-04-27 13:16:28 +09:00
socketserver.py bpo-37193: Remove thread objects which finished process its request (GH-23127) 2020-12-31 20:19:30 +00:00
sre_compile.py
sre_constants.py
sre_parse.py
ssl.py bpo-31870: Add a timeout parameter to ssl.get_server_certificate() (GH-22270) 2021-04-23 21:46:01 -07:00
stat.py
statistics.py Apply edits from Allen Downey's review of the linear_regression docs. (GH-26176) (GH-26185) 2021-05-16 19:47:57 -07:00
string.py
stringprep.py
struct.py
subprocess.py bpo-43776: Remove list call from args in Popen repr (GH-25338) 2021-04-28 01:16:38 -07:00
sunau.py
symtable.py bpo-41840: Report module-level globals as both local and global in the symtable module (GH-22391) 2020-10-03 20:45:55 +01:00
sysconfig.py bpo-43312: Functions returning default and preferred sysconfig schemes (GH-24644) 2021-04-27 09:45:55 +01:00
tabnanny.py
tarfile.py bpo-8978: improve tarfile.open error message when lzma / bz2 are missing (GH-24850) 2021-04-27 10:39:01 -07:00
telnetlib.py
tempfile.py bpo-43510: Implement PEP 597 opt-in EncodingWarning. (GH-19481) 2021-03-29 12:28:14 +09:00
textwrap.py bpo-28660: Make TextWrapper break long words on hyphens (GH-22721) 2020-10-18 20:01:15 +03:00
this.py
threading.py [3.10] bpo-37788: Fix reference leak when Thread is never joined (GH-26103) (GH-26138) 2021-05-15 02:24:44 -07:00
timeit.py bpo-40670: More reliable validation of statements in timeit.Timer. (GH-22358) 2020-09-22 16:16:46 +03:00
token.py bpo-43822: Improve syntax errors for missing commas (GH-25377) 2021-04-15 21:38:45 +01:00
tokenize.py bpo-43014: Improve performance of tokenize.tokenize by 20-30% 2021-01-24 12:23:17 +03:00
trace.py Fix typo in Lib/trace.py (GH-24309) 2021-02-01 21:16:38 +05:30
traceback.py bpo-43146: fix None-handling in single-arg traceback.print_exception(None) (GH-24629) 2021-02-23 09:43:04 -08:00
tracemalloc.py bpo-37961: Fix regression in tracemalloc.Traceback.__repr__ (GH-23805) 2020-12-16 22:38:32 +01:00
tty.py
turtle.py bpo-43935: Fix typo in Turtle.back() docstring (GH-25581) 2021-04-30 18:05:45 -04:00
types.py bpo-38250: [Enum] single-bit flags are canonical (GH-24215) 2021-01-25 14:26:19 -08:00
typing.py bpo-44098: Drop ParamSpec from most `__parameters__` in typing generics (GH-26013) (#26091) 2021-05-13 10:19:24 -07:00
uu.py
uuid.py bpo-38659: [Enum] add _simple_enum decorator (GH-25497) 2021-04-21 10:20:44 -07:00
warnings.py
wave.py
weakref.py
webbrowser.py bpo-44059: Register the SerenityOS Browser in the webbrowser module (GH-25947) (GH-25950) 2021-05-06 12:49:26 -07:00
xdrlib.py
zipapp.py
zipfile.py bpo-43651: Fix EncodingWarning in zipfile (GH-25650) 2021-04-27 15:45:31 +09:00
zipimport.py bpo-42135: Deprecate implementations of find_module() and find_loader() (GH-25169) 2021-04-06 08:56:57 -07:00