aboutsummaryrefslogtreecommitdiff
path: root/gdb/python/python-internal.h
diff options
context:
space:
mode:
authorTom Tromey <tromey@adacore.com>2022-06-06 09:54:45 -0600
committerTom Tromey <tromey@adacore.com>2022-07-15 09:25:33 -0600
commitc4a3dbaf1132105586586617a59d0e7566eefd41 (patch)
tree60fdbcc109b1a55a76ce8070f6b4b7c81dc6c38f /gdb/python/python-internal.h
parentaa63b0a77e193b5181390f19465f33c314d0490e (diff)
downloadbinutils-c4a3dbaf1132105586586617a59d0e7566eefd41.zip
binutils-c4a3dbaf1132105586586617a59d0e7566eefd41.tar.gz
binutils-c4a3dbaf1132105586586617a59d0e7566eefd41.tar.bz2
Expose current 'print' settings to Python
PR python/17291 asks for access to the current print options. While I think this need is largely satisfied by the existence of Value.format_string, it seemed to me that a bit more could be done. First, while Value.format_string uses the user's settings, it does not react to temporary settings such as "print/x". This patch changes this. Second, there is no good way to examine the current settings (in particular the temporary ones in effect for just a single "print"). This patch adds this as well. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=17291
Diffstat (limited to 'gdb/python/python-internal.h')
-rw-r--r--gdb/python/python-internal.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/gdb/python/python-internal.h b/gdb/python/python-internal.h
index 5d296a7..551438c 100644
--- a/gdb/python/python-internal.h
+++ b/gdb/python/python-internal.h
@@ -746,11 +746,16 @@ int gdbpy_is_value_object (PyObject *obj);
other pretty-printer functions, because they refer to PyObject. */
gdbpy_ref<> apply_varobj_pretty_printer (PyObject *print_obj,
struct value **replacement,
- struct ui_file *stream);
+ struct ui_file *stream,
+ const value_print_options *opts);
gdbpy_ref<> gdbpy_get_varobj_pretty_printer (struct value *value);
gdb::unique_xmalloc_ptr<char> gdbpy_get_display_hint (PyObject *printer);
PyObject *gdbpy_default_visualizer (PyObject *self, PyObject *args);
+PyObject *gdbpy_print_options (PyObject *self, PyObject *args);
+void gdbpy_get_print_options (value_print_options *opts);
+extern const struct value_print_options *gdbpy_current_print_options;
+
void bpfinishpy_pre_stop_hook (struct gdbpy_breakpoint_object *bp_obj);
void bpfinishpy_post_stop_hook (struct gdbpy_breakpoint_object *bp_obj);
@@ -784,8 +789,10 @@ int gdb_pymodule_addobject (PyObject *module, const char *name,
struct varobj_iter;
struct varobj;
-std::unique_ptr<varobj_iter> py_varobj_get_iterator (struct varobj *var,
- PyObject *printer);
+std::unique_ptr<varobj_iter> py_varobj_get_iterator
+ (struct varobj *var,
+ PyObject *printer,
+ const value_print_options *opts);
/* Deleter for Py_buffer unique_ptr specialization. */