Add support for enabling/disabling individual pretty-printers.
* python/py-prettyprint.c (search_pp_list): Skip disabled printers. * python/python-internal.h (gdbpy_enabled_cst): Declare. * python/python.c (gdbpy_enabled_cst): Define. (_initialize_python): Initialize gdbpy_enabled_cst. * NEWS: Add entry. doc/ * gdb.texinfo (Python API): New node `Disabling Pretty-Printers'. testsuite/ * gdb.python/py-prettyprint.exp: Add new test for enabled and disabled printers. * gdb.python/py-prettyprint.py (disable_lookup_function): New function. (enable_lookup_function): New function.
This commit is contained in:
parent
2dec564e91
commit
967cf47793
10 changed files with 102 additions and 5 deletions
|
@ -48,6 +48,11 @@ search_pp_list (PyObject *list, PyObject *value)
|
|||
if (! function)
|
||||
return NULL;
|
||||
|
||||
/* Skip if disabled. */
|
||||
if (PyObject_HasAttr (function, gdbpy_enabled_cst)
|
||||
&& ! PyObject_IsTrue (PyObject_GetAttr (function, gdbpy_enabled_cst)))
|
||||
continue;
|
||||
|
||||
printer = PyObject_CallFunctionObjArgs (function, value, NULL);
|
||||
if (! printer)
|
||||
return NULL;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue