aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2023-12-12 22:49:52 -0700
committerTom Tromey <tom@tromey.com>2023-12-30 12:21:44 -0700
commit1f1c84ddf7bf810c18632806a358f61e824be18a (patch)
treeab745637a584efa6096a7ff32ae8dd7b4dbba890 /gdb
parent11e73fe731c553171f09b48636dfc347cb3ac266 (diff)
downloadfsf-binutils-gdb-1f1c84ddf7bf810c18632806a358f61e824be18a.zip
fsf-binutils-gdb-1f1c84ddf7bf810c18632806a358f61e824be18a.tar.gz
fsf-binutils-gdb-1f1c84ddf7bf810c18632806a358f61e824be18a.tar.bz2
Add keywords to TuiWindow.write
The gdb docs promise that methods with more than two or more arguments will accept keywords. However, I found that TuiWindow.write didn't allow them. This patch adds the missing support.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/python/py-tui.c9
-rw-r--r--gdb/testsuite/gdb.python/tui-window.py3
2 files changed, 8 insertions, 4 deletions
diff --git a/gdb/python/py-tui.c b/gdb/python/py-tui.c
index a84e38a..a28137e 100644
--- a/gdb/python/py-tui.c
+++ b/gdb/python/py-tui.c
@@ -476,13 +476,16 @@ gdbpy_tui_erase (PyObject *self, PyObject *args)
/* Python function that writes some text to a TUI window. */
static PyObject *
-gdbpy_tui_write (PyObject *self, PyObject *args)
+gdbpy_tui_write (PyObject *self, PyObject *args, PyObject *kw)
{
+ static const char *keywords[] = { "string", "full_window", nullptr };
+
gdbpy_tui_window *win = (gdbpy_tui_window *) self;
const char *text;
int full_window = 0;
- if (!PyArg_ParseTuple (args, "s|i", &text, &full_window))
+ if (!gdb_PyArg_ParseTupleAndKeywords (args, kw, "s|i", keywords,
+ &text, &full_window))
return nullptr;
REQUIRE_WINDOW (win);
@@ -562,7 +565,7 @@ static PyMethodDef tui_object_methods[] =
Return true if this TUI window is valid, false if not." },
{ "erase", gdbpy_tui_erase, METH_NOARGS,
"Erase the TUI window." },
- { "write", (PyCFunction) gdbpy_tui_write, METH_VARARGS,
+ { "write", (PyCFunction) gdbpy_tui_write, METH_VARARGS | METH_KEYWORDS,
"Append a string to the TUI window." },
{ NULL } /* Sentinel. */
};
diff --git a/gdb/testsuite/gdb.python/tui-window.py b/gdb/testsuite/gdb.python/tui-window.py
index dc72cc4..47c4403 100644
--- a/gdb/testsuite/gdb.python/tui-window.py
+++ b/gdb/testsuite/gdb.python/tui-window.py
@@ -32,7 +32,8 @@ class TestWindow:
self.win.erase()
w = self.win.width
h = self.win.height
- self.win.write("Test: " + str(self.count) + " " + str(w) + "x" + str(h))
+ self.win.write(string="Test: " + str(self.count) + " " + str(w) + "x" + str(h),
+ full_window=False)
self.count = self.count + 1
# Tries to delete the title attribute. GDB will throw an error.