From e840f632eb1879fd022f88ab1e2f5ce3a41d3cbe Mon Sep 17 00:00:00 2001 From: Stephane Carrez Date: Sat, 10 Nov 2012 12:25:07 +0000 Subject: PR tui/9584 * tui/tui.c (tui_rl_command_key): Do not call execute_command but insert the command to execute in readline's buffer. --- gdb/tui/tui.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'gdb/tui') diff --git a/gdb/tui/tui.c b/gdb/tui/tui.c index 9ef3c30..3e79b32 100644 --- a/gdb/tui/tui.c +++ b/gdb/tui/tui.c @@ -240,12 +240,13 @@ tui_rl_command_key (int count, int key) { if (tui_commands[i].key == key) { - /* Must save the command because it can be modified by - execute_command. */ - char *cmd = alloca (strlen (tui_commands[i].cmd) + 1); - - strcpy (cmd, tui_commands[i].cmd); - execute_command (cmd, TRUE); + /* Insert the command in the readline buffer. + Avoid calling the gdb command here since it creates + a possible recursion on readline if prompt_for_continue + is called (See PR 9584). The command will also appear + in the readline history which turns out to be better. */ + rl_insert_text (tui_commands[i].cmd); + rl_newline (1, '\n'); return 0; } } -- cgit v1.1