diff options
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/doc/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/doc/python.texi | 5 | ||||
-rw-r--r-- | gdb/python/py-breakpoint.c | 4 | ||||
-rw-r--r-- | gdb/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/testsuite/gdb.python/py-breakpoint.exp | 5 |
6 files changed, 26 insertions, 4 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 45cfe75..9359532 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2016-05-23 Tom Tromey <tom@tromey.com> + + PR python/17981: + * python/py-breakpoint.c (gdbpy_breakpoints): Return a new tuple + when there are no breakpoints. + 2016-05-24 Pedro Alves <palves@redhat.com> PR gdb/19828 diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index 594f926..34b9527 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,7 @@ +2016-05-23 Tom Tromey <tom@tromey.com> + + * python.texi (Basic Python): Document gdb.breakpoints return. + 2016-05-24 Tom Tromey <tom@tromey.com> PR gdb/19194: diff --git a/gdb/doc/python.texi b/gdb/doc/python.texi index ffbf89a..6623d8e 100644 --- a/gdb/doc/python.texi +++ b/gdb/doc/python.texi @@ -236,7 +236,10 @@ and height, and its pagination will be disabled; @pxref{Screen Size}. @findex gdb.breakpoints @defun gdb.breakpoints () Return a sequence holding all of @value{GDBN}'s breakpoints. -@xref{Breakpoints In Python}, for more information. +@xref{Breakpoints In Python}, for more information. In @value{GDBN} +version 7.11 and earlier, this function returned @code{None} if there +were no breakpoints. This peculiarity was subsequently fixed, and now +@code{gdb.breakpoints} returns an empty sequence in this case. @end defun @findex gdb.parameter diff --git a/gdb/python/py-breakpoint.c b/gdb/python/py-breakpoint.c index 611a41e..ed9cae6 100644 --- a/gdb/python/py-breakpoint.c +++ b/gdb/python/py-breakpoint.c @@ -746,13 +746,13 @@ gdbpy_breakpoints (PyObject *self, PyObject *args) PyObject *list, *tuple; if (bppy_live == 0) - Py_RETURN_NONE; + return PyTuple_New (0); list = PyList_New (0); if (!list) return NULL; - /* If iteratre_over_breakpoints returns non NULL it signals an error + /* If iterate_over_breakpoints returns non NULL it signals an error condition. In that case abandon building the list and return NULL. */ if (iterate_over_breakpoints (build_bp_list, list) != NULL) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 16b756c..319c0f5 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2016-05-23 Tom Tromey <tom@tromey.com> + + PR python/17981: + * gdb.python/py-breakpoint.exp (test_bkpt_basic): Add test for + no-breakpoint case. + 2016-05-24 Pedro Alves <palves@redhat.com> PR gdb/19828 diff --git a/gdb/testsuite/gdb.python/py-breakpoint.exp b/gdb/testsuite/gdb.python/py-breakpoint.exp index d1d1b22..f501aa9 100644 --- a/gdb/testsuite/gdb.python/py-breakpoint.exp +++ b/gdb/testsuite/gdb.python/py-breakpoint.exp @@ -34,12 +34,15 @@ proc test_bkpt_basic { } { # Start with a fresh gdb. clean_restart ${testfile} + # We should start with no breakpoints. + gdb_test "python print (gdb.breakpoints())" "\\(\\)" + if ![runto_main] then { fail "Cannot run to main." return 0 } - # Initially there should be one breakpoint: main. + # Now there should be one breakpoint: main. gdb_py_test_silent_cmd "python blist = gdb.breakpoints()" \ "Get Breakpoint List" 0 gdb_test "python print (blist\[0\])" \ |