You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
python-gevent/0001-code-replace.patch

27 lines
1.0 KiB

commit 1b84da94c2aa2d171881482c22298ad189b79764
Author: Victor Stinner <vstinner@redhat.com>
Date: Tue Jun 11 16:38:52 2019 +0200
Use CodeType.replace() if available
Port _tblib.Traceback to Python 3.8: use code.replace() method if
available.
diff --git a/src/gevent/_tblib.py b/src/gevent/_tblib.py
index 13364012..b9553a9e 100644
--- a/src/gevent/_tblib.py
+++ b/src/gevent/_tblib.py
@@ -198,7 +198,11 @@ class Traceback(object):
while current:
f_code = current.tb_frame.f_code
code = compile('\n' * (current.tb_lineno - 1) + 'raise __traceback_maker', current.tb_frame.f_code.co_filename, 'exec')
- if PY3:
+ if hasattr(code, "replace"):
+ # Python 3.8 and newer
+ code = code.replace(co_argcount=0,
+ co_freevars=(), co_cellvars=())
+ elif PY3:
code = CodeType(
0, code.co_kwonlyargcount,
code.co_nlocals, code.co_stacksize, code.co_flags,