diff options
author | Tom Tromey <tromey@adacore.com> | 2022-06-06 09:54:45 -0600 |
---|---|---|
committer | Tom Tromey <tromey@adacore.com> | 2022-07-15 09:25:33 -0600 |
commit | c4a3dbaf1132105586586617a59d0e7566eefd41 (patch) | |
tree | 60fdbcc109b1a55a76ce8070f6b4b7c81dc6c38f /gdb/python/python-internal.h | |
parent | aa63b0a77e193b5181390f19465f33c314d0490e (diff) | |
download | binutils-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.h | 13 |
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. */ |