This is the mail archive of the
gdb-cvs@sourceware.org
mailing list for the GDB project.
[binutils-gdb] Use tui_putc to output newline entered by the user
- From: Patrick Palka <ppalka at sourceware dot org>
- To: gdb-cvs at sourceware dot org
- Date: 21 Aug 2015 20:20:58 -0000
- Subject: [binutils-gdb] Use tui_putc to output newline entered by the user
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=7a8bcb88e77380fe9672b4f10777cc9e48011dd4
commit 7a8bcb88e77380fe9672b4f10777cc9e48011dd4
Author: Patrick Palka <patrick@parcs.ath.cx>
Date: Fri Aug 21 12:04:25 2015 -0400
Use tui_putc to output newline entered by the user
This is necessary to make sure that start_line is updated after a
command has been entered. Usually, start_line gets updated anyway
because most commands output text, and outputting text is done through
the function tui_puts, which updates start_line. However if a command
does not output text, then tui_puts will not get called and start_line
will not get updated in time for the next prompt to be displayed.
One can observe this bug by executing the command "delete" within TUI.
After executing, the prompt line
(gdb) delete
gets overwritten by the next prompt. With this patch, the prompt line
gets preserved.
gdb/ChangeLog:
* tui/tui-io.c (tui_getc): Use tui_putc instead of waddch to
emit the newline.
Diff:
---
gdb/ChangeLog | 5 +++++
gdb/tui/tui-io.c | 2 +-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index f5dd5f3..6ec04d0 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2015-08-21 Patrick Palka <patrick@parcs.ath.cx>
+
+ * tui/tui-io.c (tui_getc): Use tui_putc instead of waddch to
+ emit the newline.
+
2015-08-21 Gary Benson <gbenson@redhat.com>
* gdb_bfd.c (gdb_bfd_iovec_fileio_pread): Add QUIT call.
diff --git a/gdb/tui/tui-io.c b/gdb/tui/tui-io.c
index f0ff5c0..bca1f58 100644
--- a/gdb/tui/tui-io.c
+++ b/gdb/tui/tui-io.c
@@ -606,7 +606,7 @@ tui_getc (FILE *fp)
py += px / TUI_CMD_WIN->generic.width;
px %= TUI_CMD_WIN->generic.width;
wmove (w, py, px);
- waddch (w, ch);
+ tui_putc ('\n');
}
}