mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-02-17 13:10:12 +08:00
2007-07-01 Daniel Jacobowitz <dan@codesourcery.com>
* top.c (gdb_readline_wrapper_line): Call rl_callback_handler_remove. (struct gdb_readline_wrapper_cleanup): Remove prompt_orig. (gdb_readline_wrapper_cleanup): Do not reset the prompt. (gdb_readline_wrapper): Do not save the prompt. Pass our prompt to display_gdb_prompt. 2007-07-01 Nick Roberts <nickrob@snap.net.nz> Daniel Jacobowitz <dan@codesourcery.com> * gdb.base/annota3.exp: Test for if construct.
This commit is contained in:
parent
5ad3a4ca20
commit
1b05479a47
@ -1,3 +1,11 @@
|
||||
2007-07-01 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* top.c (gdb_readline_wrapper_line): Call rl_callback_handler_remove.
|
||||
(struct gdb_readline_wrapper_cleanup): Remove prompt_orig.
|
||||
(gdb_readline_wrapper_cleanup): Do not reset the prompt.
|
||||
(gdb_readline_wrapper): Do not save the prompt. Pass our prompt
|
||||
to display_gdb_prompt.
|
||||
|
||||
2007-07-01 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
PR symtab/2161
|
||||
|
@ -1,3 +1,8 @@
|
||||
2007-07-01 Nick Roberts <nickrob@snap.net.nz>
|
||||
Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* gdb.base/annota3.exp: Test for if construct.
|
||||
|
||||
2007-06-26 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* gdb.base/chng-syms.exp: Handle glibc's __GI_exit.
|
||||
|
@ -99,7 +99,29 @@ gdb_expect_list "annotation set at level 3" "\r\n$gdb_prompt$" {
|
||||
"set annotate 3"
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# if construct:
|
||||
#
|
||||
send_gdb "if 1\n"
|
||||
gdb_expect {
|
||||
-re "^if 1\r\n\r\n\032\032post-prompt\r\n\r\n\032\032pre-commands\r\n >\r\n\032\032commands\r\n$" {
|
||||
pass "start if construct"
|
||||
}
|
||||
-re ".*\032\032commands\r\n" {
|
||||
fail "start if construct"
|
||||
}
|
||||
timeout { fail "start if construct (timeout)" }
|
||||
}
|
||||
send_gdb "end\n"
|
||||
gdb_expect {
|
||||
-re "^end\r\n\r\n\032\032post-commands\r\n$gdb_prompt$" {
|
||||
pass "end if construct"
|
||||
}
|
||||
-re ".*$gdb_prompt$" {
|
||||
fail "end if construct"
|
||||
}
|
||||
timeout { fail "end if construct (timeout)" }
|
||||
}
|
||||
#
|
||||
# info break:
|
||||
#
|
||||
|
11
gdb/top.c
11
gdb/top.c
@ -751,12 +751,16 @@ gdb_readline_wrapper_line (char *line)
|
||||
/* Prevent operate-and-get-next from acting too early. */
|
||||
saved_after_char_processing_hook = after_char_processing_hook;
|
||||
after_char_processing_hook = NULL;
|
||||
|
||||
/* Prevent parts of the prompt from being redisplayed if annotations
|
||||
are enabled, and readline's state getting out of sync. */
|
||||
if (async_command_editing_p)
|
||||
rl_callback_handler_remove ();
|
||||
}
|
||||
|
||||
struct gdb_readline_wrapper_cleanup
|
||||
{
|
||||
void (*handler_orig) (char *);
|
||||
char *prompt_orig;
|
||||
int already_prompted_orig;
|
||||
};
|
||||
|
||||
@ -766,7 +770,6 @@ gdb_readline_wrapper_cleanup (void *arg)
|
||||
struct gdb_readline_wrapper_cleanup *cleanup = arg;
|
||||
|
||||
rl_already_prompted = cleanup->already_prompted_orig;
|
||||
PROMPT (0) = cleanup->prompt_orig;
|
||||
|
||||
gdb_assert (input_handler == gdb_readline_wrapper_line);
|
||||
input_handler = cleanup->handler_orig;
|
||||
@ -790,14 +793,12 @@ gdb_readline_wrapper (char *prompt)
|
||||
cleanup->handler_orig = input_handler;
|
||||
input_handler = gdb_readline_wrapper_line;
|
||||
|
||||
cleanup->prompt_orig = get_prompt ();
|
||||
PROMPT (0) = prompt;
|
||||
cleanup->already_prompted_orig = rl_already_prompted;
|
||||
|
||||
back_to = make_cleanup (gdb_readline_wrapper_cleanup, cleanup);
|
||||
|
||||
/* Display our prompt and prevent double prompt display. */
|
||||
display_gdb_prompt (NULL);
|
||||
display_gdb_prompt (prompt);
|
||||
rl_already_prompted = 1;
|
||||
|
||||
if (after_char_processing_hook)
|
||||
|
Loading…
Reference in New Issue
Block a user