https://github.com/python/cpython/commit/da1d468bea2283032c491b894d3b38b2115ceb70
commit: da1d468bea2283032c491b894d3b38b2115ceb70
branch: main
author: Paresh Joshi <[email protected]>
committer: gaogaotiantian <[email protected]>
date: 2025-11-24T18:45:16-08:00
summary:
gh-141781: Fix pdb.line_prefix binding (#141779)
files:
A Misc/NEWS.d/next/Library/2025-11-24-06-44-45.gh-issue-141781.MsK27r.rst
M Lib/pdb.py
M Lib/test/test_pdb.py
M Misc/ACKS
diff --git a/Lib/pdb.py b/Lib/pdb.py
index 8e9502cb9e6bfb..60b713ebaf3d1a 100644
--- a/Lib/pdb.py
+++ b/Lib/pdb.py
@@ -654,7 +654,7 @@ def _show_display(self):
def _get_tb_and_exceptions(self, tb_or_exc):
"""
- Given a tracecack or an exception, return a tuple of chained exceptions
+ Given a traceback or an exception, return a tuple of chained exceptions
and current traceback to inspect.
This will deal with selecting the right ``__cause__`` or
``__context__``
@@ -2429,7 +2429,9 @@ def print_stack_trace(self, count=None):
except KeyboardInterrupt:
pass
- def print_stack_entry(self, frame_lineno, prompt_prefix=line_prefix):
+ def print_stack_entry(self, frame_lineno, prompt_prefix=None):
+ if prompt_prefix is None:
+ prompt_prefix = line_prefix
frame, lineno = frame_lineno
if frame is self.curframe:
prefix = '> '
diff --git a/Lib/test/test_pdb.py b/Lib/test/test_pdb.py
index 418ea79cdd22c3..34dfc220c7ed73 100644
--- a/Lib/test/test_pdb.py
+++ b/Lib/test/test_pdb.py
@@ -3580,6 +3580,20 @@ def quux():
('bœr', 5),
)
+ def test_print_stack_entry_uses_dynamic_line_prefix(self):
+ """Test that pdb.line_prefix binding is dynamic (gh-141781)."""
+ stdout = io.StringIO()
+ p = pdb.Pdb(stdout=stdout)
+
+ # Get the current frame to use for printing
+ frame = sys._getframe()
+
+ with support.swap_attr(pdb, 'line_prefix', 'CUSTOM_PREFIX> '):
+ p.print_stack_entry((frame, frame.f_lineno))
+
+ # Check if the custom prefix appeared in the output
+ self.assertIn('CUSTOM_PREFIX> ', stdout.getvalue())
+
def test_find_function_found_with_encoding_cookie(self):
self._assert_find_function(
"""\
diff --git a/Misc/ACKS b/Misc/ACKS
index f5f15f2eb7ea24..ab6b8662d8fc81 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -927,6 +927,7 @@ Kristján Valur Jónsson
Jens B. Jorgensen
John Jorgensen
Sijin Joseph
+Paresh Joshi
Andreas Jung
Tattoo Mabonzo K.
Sarah K.
diff --git
a/Misc/NEWS.d/next/Library/2025-11-24-06-44-45.gh-issue-141781.MsK27r.rst
b/Misc/NEWS.d/next/Library/2025-11-24-06-44-45.gh-issue-141781.MsK27r.rst
new file mode 100644
index 00000000000000..21db97025a3d50
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2025-11-24-06-44-45.gh-issue-141781.MsK27r.rst
@@ -0,0 +1 @@
+Fixed an issue where pdb.line_prefix assignment was ignored if assigned after
the module was imported.
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]