From 98e26979aa4c15b391fd3780340772a17d513d4d Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Wed, 16 Aug 2017 11:02:08 +0200 Subject: [PATCH] Revert "[3.6] bpo-30983: eval frame rename in pep 0523 broke gdb's python extension (GH-2803) (#3090)" (#3101) This reverts commit 09b77165e3fffa7b7ff160ad06042cdcfa004bf5. --- .../Tools-Demos/2017-08-14-15-37-38.bpo-30983.A7UzX8.rst | 4 ---- Tools/gdb/libpython.py | 6 ++---- 2 files changed, 2 insertions(+), 8 deletions(-) delete mode 100644 Misc/NEWS.d/next/Tools-Demos/2017-08-14-15-37-38.bpo-30983.A7UzX8.rst diff --git a/Misc/NEWS.d/next/Tools-Demos/2017-08-14-15-37-38.bpo-30983.A7UzX8.rst b/Misc/NEWS.d/next/Tools-Demos/2017-08-14-15-37-38.bpo-30983.A7UzX8.rst deleted file mode 100644 index 44c5e1c6967..00000000000 --- a/Misc/NEWS.d/next/Tools-Demos/2017-08-14-15-37-38.bpo-30983.A7UzX8.rst +++ /dev/null @@ -1,4 +0,0 @@ -With PEP 523, gdb's Python integration stopped working properly for frames -using the ``_PyEval_EvalFrameDefault`` function. Affected functionality -included `py-list` and `py-bt`. This is now fixed. Patch by Bruno "Polaco" -Penteado. diff --git a/Tools/gdb/libpython.py b/Tools/gdb/libpython.py index 40e0a677cd0..31ae8117c78 100755 --- a/Tools/gdb/libpython.py +++ b/Tools/gdb/libpython.py @@ -1502,10 +1502,8 @@ class Frame(object): return False def is_evalframeex(self): - '''Is this a PyEval_EvalFrameEx or _PyEval_EvalFrameDefault (PEP 0523) - frame?''' - if self._gdbframe.name() in ('PyEval_EvalFrameEx', - '_PyEval_EvalFrameDefault'): + '''Is this a PyEval_EvalFrameEx frame?''' + if self._gdbframe.name() == 'PyEval_EvalFrameEx': ''' I believe we also need to filter on the inline struct frame_id.inline_depth, only regarding frames with