98 lines
3.3 KiB
Diff
98 lines
3.3 KiB
Diff
From 248128dfaabb33e922b1e36a298fd7ec0c730069 Mon Sep 17 00:00:00 2001
|
|
From: stonebig <stonebig34@gmail.com>
|
|
Date: Sat, 11 May 2019 14:19:20 +0200
|
|
Subject: [PATCH 1/2] Python-3.8 PEP570 positional only argument
|
|
|
|
---
|
|
IPython/core/interactiveshell.py | 54 ++++++++++++++++++++++----------
|
|
1 file changed, 37 insertions(+), 17 deletions(-)
|
|
|
|
diff --git a/IPython/core/interactiveshell.py b/IPython/core/interactiveshell.py
|
|
index ce8ceb196c..8cc89e4192 100644
|
|
--- a/IPython/core/interactiveshell.py
|
|
+++ b/IPython/core/interactiveshell.py
|
|
@@ -138,23 +138,43 @@ def removed_co_newlocals(function:types.FunctionType) -> types.FunctionType:
|
|
from types import CodeType, FunctionType
|
|
CO_NEWLOCALS = 0x0002
|
|
code = function.__code__
|
|
- new_code = CodeType(
|
|
- code.co_argcount,
|
|
- code.co_kwonlyargcount,
|
|
- code.co_nlocals,
|
|
- code.co_stacksize,
|
|
- code.co_flags & ~CO_NEWLOCALS,
|
|
- code.co_code,
|
|
- code.co_consts,
|
|
- code.co_names,
|
|
- code.co_varnames,
|
|
- code.co_filename,
|
|
- code.co_name,
|
|
- code.co_firstlineno,
|
|
- code.co_lnotab,
|
|
- code.co_freevars,
|
|
- code.co_cellvars
|
|
- )
|
|
+ if sys.version_info > (3,8):
|
|
+ new_code = CodeType(
|
|
+ code.co_argcount,
|
|
+ code.co_posonlyargcount, # Python-3.8 PEP570 positional only argument
|
|
+ code.co_kwonlyargcount,
|
|
+ code.co_nlocals,
|
|
+ code.co_stacksize,
|
|
+ code.co_flags & ~CO_NEWLOCALS,
|
|
+ code.co_code,
|
|
+ code.co_consts,
|
|
+ code.co_names,
|
|
+ code.co_varnames,
|
|
+ code.co_filename,
|
|
+ code.co_name,
|
|
+ code.co_firstlineno,
|
|
+ code.co_lnotab,
|
|
+ code.co_freevars,
|
|
+ code.co_cellvars
|
|
+ )
|
|
+ else:
|
|
+ new_code = CodeType(
|
|
+ code.co_argcount,
|
|
+ code.co_kwonlyargcount,
|
|
+ code.co_nlocals,
|
|
+ code.co_stacksize,
|
|
+ code.co_flags & ~CO_NEWLOCALS,
|
|
+ code.co_code,
|
|
+ code.co_consts,
|
|
+ code.co_names,
|
|
+ code.co_varnames,
|
|
+ code.co_filename,
|
|
+ code.co_name,
|
|
+ code.co_firstlineno,
|
|
+ code.co_lnotab,
|
|
+ code.co_freevars,
|
|
+ code.co_cellvars
|
|
+ )
|
|
return FunctionType(new_code, globals(), function.__name__, function.__defaults__)
|
|
|
|
|
|
|
|
From 3b160421894ef3495781a6d76fe0edd0fe44ea2d Mon Sep 17 00:00:00 2001
|
|
From: stonebig <stonebig34@gmail.com>
|
|
Date: Sat, 11 May 2019 14:31:54 +0200
|
|
Subject: [PATCH 2/2] be more precise : >3.8.0a3
|
|
|
|
---
|
|
IPython/core/interactiveshell.py | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/IPython/core/interactiveshell.py b/IPython/core/interactiveshell.py
|
|
index 8cc89e4192..c102b2352d 100644
|
|
--- a/IPython/core/interactiveshell.py
|
|
+++ b/IPython/core/interactiveshell.py
|
|
@@ -138,7 +138,7 @@ def removed_co_newlocals(function:types.FunctionType) -> types.FunctionType:
|
|
from types import CodeType, FunctionType
|
|
CO_NEWLOCALS = 0x0002
|
|
code = function.__code__
|
|
- if sys.version_info > (3,8):
|
|
+ if sys.version_info > (3, 8, 0, 'alpha', 3):
|
|
new_code = CodeType(
|
|
code.co_argcount,
|
|
code.co_posonlyargcount, # Python-3.8 PEP570 positional only argument
|