A while back I changed gdb not to flush in some places. It turned out
that this broke the TUI a little. An easy way to see it is to run
"gdb -tui -nx", then "file gdb" at the gdb prompt. gdb will print the
usual "Reading symbols..." message -- but it won't appear on-screen
until the reading is complete.
This patch changes the TUI to do the equivalent of line buffering in
tui_puts_internal.
gdb/ChangeLog
2019-07-17 Tom Tromey <tom@tromey.com>
* tui/tui-io.c (tui_puts_internal): Call wrefresh if newline is
seen.
2019-07-17 Tom Tromey <tom@tromey.com>
+ * tui/tui-io.c (tui_puts_internal): Call wrefresh if newline is
+ seen.
+
+2019-07-17 Tom Tromey <tom@tromey.com>
+
* tui/tui-win.c (tui_source_window_base::set_new_height)
(tui_source_window_base::do_make_visible_with_new_height): Use
m_has_locator field directly.
{
char c;
int prev_col = 0;
+ bool saw_nl = false;
while ((c = *string++) != 0)
{
+ if (c == '\n')
+ saw_nl = true;
+
if (c == '\1' || c == '\2')
{
/* Ignore these, they are readline escape-marking
}
}
update_cmdwin_start_line ();
+ if (saw_nl)
+ wrefresh (w);
}
/* Print a string in the curses command window. The output is