From: Eli Zaretskii Date: Mon, 18 Mar 2019 18:04:40 +0000 (+0200) Subject: Fix gdb/TUI behavior in response to [Enter] keypress X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=b17c4cd078e2d1d8951951016815e474fb133780;p=deliverable%2Fbinutils-gdb.git Fix gdb/TUI behavior in response to [Enter] keypress gdb/ChangeLog: 2019-03-18 Eli Zaretskii * tui/tui-io.c (gdb_wgetch): Don't echo CR. (tui_getc): When gdb_wgetch returns a CR, behave the same as when it returns a newline. This fixes a regression in TUI mode, whereby the next line is output on the same screen line as the user input. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b224ebddf8..5599f5bc50 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2019-03-18 Eli Zaretskii + + * tui/tui-io.c (gdb_wgetch): Don't echo CR. + (tui_getc): When gdb_wgetch returns a CR, behave the same as when + it returns a newline. This fixes a regression in TU mode, whereby + the next line is output on the same screen line as the user input. + 2019-03-18 Tom Tromey * minsyms.c (minimal_symbol_reader::install): Remove call to diff --git a/gdb/tui/tui-io.c b/gdb/tui/tui-io.c index b9087737fe..ad47c8205f 100644 --- a/gdb/tui/tui-io.c +++ b/gdb/tui/tui-io.c @@ -699,12 +699,6 @@ 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; } @@ -931,7 +925,7 @@ tui_getc (FILE *fp) /* The \n must be echoed because it will not be printed by readline. */ - if (ch == '\n') + if (ch == '\n' || ch == '\r') { /* When hitting return with an empty input, gdb executes the last command. If we emit a newline, this fills up the command window