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.
This commit is contained in:
parent
11e73fe731
commit
1f1c84ddf7
2 changed files with 8 additions and 4 deletions
|
@ -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. */
|
||||
};
|
||||
|
|
|
@ -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.
|
||||
|
|
Loading…
Add table
Reference in a new issue