* tuiIO.c (tui_prep_terminal): Save the prompt registered in readline.
(tui_redisplay_readline): Use the last saved prompt. (tui_rl_saved_prompt): New.
This commit is contained in:
parent
26abbdc424
commit
57266a339f
2 changed files with 17 additions and 2 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2002-10-26 Stephane Carrez <stcarrez@nerim.fr>
|
||||||
|
|
||||||
|
* tuiIO.c (tui_prep_terminal): Save the prompt registered in readline.
|
||||||
|
(tui_redisplay_readline): Use the last saved prompt.
|
||||||
|
(tui_rl_saved_prompt): New.
|
||||||
|
|
||||||
2002-10-25 Stephane Carrez <stcarrez@nerim.fr>
|
2002-10-25 Stephane Carrez <stcarrez@nerim.fr>
|
||||||
|
|
||||||
Fix PR gdb/787
|
Fix PR gdb/787
|
||||||
|
|
|
@ -124,6 +124,10 @@ static FILE *tui_old_rl_outstream;
|
||||||
static int tui_readline_pipe[2];
|
static int tui_readline_pipe[2];
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* The last gdb prompt that was registered in readline.
|
||||||
|
This may be the main gdb prompt or a secondary prompt. */
|
||||||
|
static char *tui_rl_saved_prompt;
|
||||||
|
|
||||||
static unsigned int _tuiHandleResizeDuringIO (unsigned int);
|
static unsigned int _tuiHandleResizeDuringIO (unsigned int);
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -194,7 +198,7 @@ tui_redisplay_readline (void)
|
||||||
if (tui_current_key_mode == tui_single_key_mode)
|
if (tui_current_key_mode == tui_single_key_mode)
|
||||||
prompt = "";
|
prompt = "";
|
||||||
else
|
else
|
||||||
prompt = get_prompt ();
|
prompt = tui_rl_saved_prompt;
|
||||||
|
|
||||||
c_pos = -1;
|
c_pos = -1;
|
||||||
c_line = -1;
|
c_line = -1;
|
||||||
|
@ -256,10 +260,15 @@ tui_redisplay_readline (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Readline callback to prepare the terminal. It is called once
|
/* Readline callback to prepare the terminal. It is called once
|
||||||
each time we enter readline. There is nothing to do in curses mode. */
|
each time we enter readline. Terminal is already setup in curses mode. */
|
||||||
static void
|
static void
|
||||||
tui_prep_terminal (void)
|
tui_prep_terminal (void)
|
||||||
{
|
{
|
||||||
|
/* Save the prompt registered in readline to correctly display it.
|
||||||
|
(we can't use gdb_prompt() due to secondary prompts and can't use
|
||||||
|
rl_prompt because it points to an alloca buffer). */
|
||||||
|
xfree (tui_rl_saved_prompt);
|
||||||
|
tui_rl_saved_prompt = xstrdup (rl_prompt);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Readline callback to restore the terminal. It is called once
|
/* Readline callback to restore the terminal. It is called once
|
||||||
|
|
Loading…
Reference in a new issue