aboutsummaryrefslogtreecommitdiff
path: root/gdb/event-top.c
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2003-02-06 01:19:12 +0000
committerAndrew Cagney <cagney@redhat.com>2003-02-06 01:19:12 +0000
commit4389a95abbef3cf59d29e0fe15458335a0b3f0ab (patch)
tree8551c07e6de03f1cf9cdc9df764a873d696dda07 /gdb/event-top.c
parent0667fdb0c6b70b1e9712c6bf837e77a60ba40904 (diff)
downloadgdb-4389a95abbef3cf59d29e0fe15458335a0b3f0ab.zip
gdb-4389a95abbef3cf59d29e0fe15458335a0b3f0ab.tar.gz
gdb-4389a95abbef3cf59d29e0fe15458335a0b3f0ab.tar.bz2
2003-02-05 Jim Ingham <jingham@apple.com>
Keith Seitz <keiths@redhat.com> Elena Zannoni <ezannoni@redhat.com> Andrew Cagney <ac131313@redhat.com> * Makefile.in (SUBDIR_CLI_OBS): Add "cli-interp.o". (SUBDIR_CLI_SRCS): Add "cli/cli-interp.c". (SUBDIR_MI_OBS): Add "mi-interp.o". (SUBDIR_MI_SRCS): Add "mi/mi-interp.c". (SFILES): Add "interps.c". (COMMON_OBS): Add "interps.o". (interps_h, mi_main_h): Define. (interps.o, cli-interp.o, mi-interp.o): Add dependencies. (mi-main.o, main.o, event-top.o): Update dependencies. * cli/cli-interp.c: New file. * interps.h, interps.c: New files. * top.c: (gdb_init): Don't install the default interpreter, handed by captured_main. * main.c: Include "interps.h". (interpreter_p): Note that it should malloc'ed. (captured_command_loop): Call current_interp_command_loop. (captured_main): Initialize interpreter_p to INTERP_CONSOLE. Use xfree and xstrdup when updating interpreter_p. Install the default interpreter. Add hack to stop mi1's copyright notice being encoded. * event-top.h (gdb_setup_readline): Declare. (gdb_disable_readline): Declare. * event-top.c: Include "interps.h". (display_gdb_prompt): Call current_interp_display_prompt_p. (gdb_setup_readline): Initialize gdb_stdout, gdb_stderr, gdb_stdlog, and gdb_stdtarg. (_initialize_event_loop): Don't call gdb_setup_readline. * cli-out.c (cli_out_set_stream): New function. * cli-out.h (cli_out_set_stream): Declare.
Diffstat (limited to 'gdb/event-top.c')
-rw-r--r--gdb/event-top.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/gdb/event-top.c b/gdb/event-top.c
index 8f39998..2b2c4ff 100644
--- a/gdb/event-top.c
+++ b/gdb/event-top.c
@@ -26,6 +26,7 @@
#include "terminal.h" /* for job_control */
#include "event-loop.h"
#include "event-top.h"
+#include "interps.h"
#include <signal.h>
/* For dont_repeat() */
@@ -250,9 +251,9 @@ display_gdb_prompt (char *new_prompt)
int prompt_length = 0;
char *gdb_prompt = get_prompt ();
- /* When an alternative interpreter has been installed, do not
- display the comand prompt. */
- if (interpreter_p)
+ /* Each interpreter has its own rules on displaying the command
+ prompt. */
+ if (!current_interp_display_prompt_p ())
return;
if (target_executing && sync_execution)
@@ -1125,6 +1126,11 @@ gdb_setup_readline (void)
if (event_loop_p)
{
+ gdb_stdout = stdio_fileopen (stdout);
+ gdb_stderr = stdio_fileopen (stderr);
+ gdb_stdlog = gdb_stderr; /* for moment */
+ gdb_stdtarg = gdb_stderr; /* for moment */
+
/* If the input stream is connected to a terminal, turn on
editing. */
if (ISATTY (instream))
@@ -1197,8 +1203,6 @@ gdb_disable_readline (void)
void
_initialize_event_loop (void)
{
- gdb_setup_readline ();
-
/* Tell gdb to use the cli_command_loop as the main loop. */
if (event_loop_p && command_loop_hook == NULL)
command_loop_hook = cli_command_loop;