aboutsummaryrefslogtreecommitdiff
path: root/gdb/event-top.c
diff options
context:
space:
mode:
authorElena Zannoni <ezannoni@kwikemart.cygnus.com>2002-10-03 01:23:50 +0000
committerElena Zannoni <ezannoni@kwikemart.cygnus.com>2002-10-03 01:23:50 +0000
commitcee6ddebfcaa7a470da630f3e459c1b99989e618 (patch)
treebc741b0a4ec9b9582ec4995de6180380f7220606 /gdb/event-top.c
parent7a68fea6e146cb82ef603df3057fa04adb49c1b3 (diff)
downloadfsf-binutils-gdb-cee6ddebfcaa7a470da630f3e459c1b99989e618.zip
fsf-binutils-gdb-cee6ddebfcaa7a470da630f3e459c1b99989e618.tar.gz
fsf-binutils-gdb-cee6ddebfcaa7a470da630f3e459c1b99989e618.tar.bz2
2002-10-02 Elena Zannoni <ezannoni@redhat.com>
* event-top.c (gdb_setup_readline): New function. Code moved from _initialize_event_loop(). (_initialize_event_loop): Call gdb_setup_readline().
Diffstat (limited to 'gdb/event-top.c')
-rw-r--r--gdb/event-top.c21
1 files changed, 17 insertions, 4 deletions
diff --git a/gdb/event-top.c b/gdb/event-top.c
index 86c658d..9d871d6 100644
--- a/gdb/event-top.c
+++ b/gdb/event-top.c
@@ -1117,8 +1117,12 @@ set_async_prompt (char *args, int from_tty, struct cmd_list_element *c)
interface, i.e. via a callback function (rl_callback_read_char),
and hook up instream to the event loop. */
void
-_initialize_event_loop (void)
+gdb_setup_readline (void)
{
+ /* This function is a noop for the sync case. The assumption is that
+ the sync setup is ALL done in gdb_init, and we would only mess it up
+ here. The sync stuff should really go away over time. */
+
if (event_loop_p)
{
/* If the input stream is connected to a terminal, turn on
@@ -1153,9 +1157,6 @@ _initialize_event_loop (void)
register it with the event loop. */
input_fd = fileno (instream);
- /* Tell gdb to use the cli_command_loop as the main loop. */
- command_loop_hook = cli_command_loop;
-
/* Now we need to create the event sources for the input file
descriptor. */
/* At this point in time, this is the only event source that we
@@ -1166,3 +1167,15 @@ _initialize_event_loop (void)
add_file_handler (input_fd, stdin_event_handler, 0);
}
}
+
+void
+_initialize_event_loop (void)
+{
+ gdb_setup_readline ();
+
+ if (event_loop_p && command_loop_hook == NULL)
+ {
+ /* Tell gdb to use the cli_command_loop as the main loop. */
+ command_loop_hook = cli_command_loop;
+ }
+}