diff options
author | Tom de Vries <tdevries@suse.de> | 2023-07-26 13:31:53 +0200 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2023-07-26 13:31:53 +0200 |
commit | 87c9b0289d73382cc72adb84d221b0a8ceb33ef8 (patch) | |
tree | dd2dc5d8216792a23b31961de29d91eb2c8b1568 /gdb/top.c | |
parent | 2b8bee8b34dd1c7b5ccac636e184c5cbff61adea (diff) | |
download | gdb-87c9b0289d73382cc72adb84d221b0a8ceb33ef8.zip gdb-87c9b0289d73382cc72adb84d221b0a8ceb33ef8.tar.gz gdb-87c9b0289d73382cc72adb84d221b0a8ceb33ef8.tar.bz2 |
[gdb/tui] Fix secondary prompt
With CLI, a session defining a command looks like:
...
(gdb) define foo
Type commands for definition of "foo".
End with a line saying just "end".
>bar
>end
(gdb)
...
With TUI however, we get the same secondary prompts, and type the same, but
are left with:
...
(gdb) define foo
Type commands for definition of "foo".
End with a line saying just "end".
(gdb)
...
Fix this by calling tui_inject_newline_into_command_window in
gdb_readline_wrapper_line, as is done in tui_command_line_handler.
Tested on x86_64-linux.
PR tui/30636
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30636
Diffstat (limited to 'gdb/top.c')
-rw-r--r-- | gdb/top.c | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -77,6 +77,7 @@ #if defined(TUI) # include "tui/tui.h" +# include "tui/tui-io.h" #endif #ifndef O_NOCTTY @@ -958,6 +959,11 @@ gdb_readline_wrapper_line (gdb::unique_xmalloc_ptr<char> &&line) saved_after_char_processing_hook = after_char_processing_hook; after_char_processing_hook = NULL; +#if defined(TUI) + if (tui_active) + tui_inject_newline_into_command_window (); +#endif + /* Prevent parts of the prompt from being redisplayed if annotations are enabled, and readline's state getting out of sync. We'll reinstall the callback handler, which puts the terminal in raw |