[PATCH] Fix placement of output in TUI mode

Tom Tromey tom@tromey.com
Sat Jan 12 20:40:00 GMT 2019


The fix for PR tui/28819 regressed gdb command output a bit.  In
"nonl" mode, pressing the Enter key will result in a newline not being
echoed properly, so that gdb output for the command will begin on the
same line as the input.

This patch changes gdb_wgetch to echo the newline.  I have only tested
this interactively, as the TUI doesn't have automated tests in
general.

gdb/ChangeLog
2019-01-12  Tom Tromey  <tom@tromey.com>

	PR tui/28819:
	* tui/tui-io.c (gdb_wgetch): Print \r when needed.
---
 gdb/ChangeLog    | 5 +++++
 gdb/tui/tui-io.c | 6 ++++++
 2 files changed, 11 insertions(+)

diff --git a/gdb/tui/tui-io.c b/gdb/tui/tui-io.c
index 0e53350820..9191ccae7e 100644
--- a/gdb/tui/tui-io.c
+++ b/gdb/tui/tui-io.c
@@ -609,6 +609,12 @@ gdb_wgetch (WINDOW *win)
   nonl ();
   int r = wgetch (win);
   nl ();
+  /* In nonl mode, if the user types Enter, it will not be echoed
+     properly.  This will result in gdb output appearing immediately
+     after the command.  So, if we read \r, emit a \r now, after nl
+     mode has been re-entered, so that the output looks correct.  */
+  if (r == '\r')
+    puts ("\r");
   return r;
 }
 
-- 
2.17.2



More information about the Gdb-patches mailing list