summaryrefslogtreecommitdiff
path: root/Lib/traceback.py
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2015-09-18 10:06:23 +0300
committerSerhiy Storchaka <storchaka@gmail.com>2015-09-18 10:06:23 +0300
commit4ebf9d3a21197d26dd0209e6d5f2d60398861050 (patch)
treec49bfc099d100cf779beb66b16790e5cbedc80fd /Lib/traceback.py
parentc791507e1fd1ce218f40c7bd4b85076c278ae8d9 (diff)
parente953ba794cf172237e1101fed24f326b66e9fa9a (diff)
downloadcpython-git-4ebf9d3a21197d26dd0209e6d5f2d60398861050.tar.gz
Issue #25108: Omitted internal frames in traceback functions print_stack(),
format_stack(), and extract_stack() called without arguments.
Diffstat (limited to 'Lib/traceback.py')
-rw-r--r--Lib/traceback.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/Lib/traceback.py b/Lib/traceback.py
index 3d2e5e0685..682d8b1a64 100644
--- a/Lib/traceback.py
+++ b/Lib/traceback.py
@@ -181,11 +181,15 @@ def print_stack(f=None, limit=None, file=None):
stack frame at which to start. The optional 'limit' and 'file'
arguments have the same meaning as for print_exception().
"""
+ if f is None:
+ f = sys._getframe().f_back
print_list(extract_stack(f, limit=limit), file=file)
def format_stack(f=None, limit=None):
"""Shorthand for 'format_list(extract_stack(f, limit))'."""
+ if f is None:
+ f = sys._getframe().f_back
return format_list(extract_stack(f, limit=limit))
@@ -198,6 +202,8 @@ def extract_stack(f=None, limit=None):
line number, function name, text), and the entries are in order
from oldest to newest stack frame.
"""
+ if f is None:
+ f = sys._getframe().f_back
stack = StackSummary.extract(walk_stack(f), limit=limit)
stack.reverse()
return stack