#include "value.h"
#include "language.h"
#include "terminal.h"
-#include "common/job-control.h"
+#include "gdbsupport/job-control.h"
#include "annotate.h"
#include "completer.h"
#include "top.h"
-#include "common/version.h"
+#include "gdbsupport/version.h"
#include "serial.h"
#include "main.h"
#include "event-loop.h"
#include "maint.h"
#include "filenames.h"
#include "frame.h"
-#include "common/buffer.h"
+#include "gdbsupport/buffer.h"
#include "gdb_select.h"
-#include "common/scope-exit.h"
+#include "gdbsupport/scope-exit.h"
+#include "gdbarch.h"
/* readline include files. */
#include "readline/readline.h"
gen_ret_current_ui_field_ptr (struct ui_file *, gdb_stdlog)
gen_ret_current_ui_field_ptr (struct ui_out *, current_uiout)
-/* Initialization file name for gdb. This is host-dependent. */
-
-const char gdbinit[] = GDBINIT;
-
int inhibit_gdbinit = 0;
extern char lang_frame_mismatch_warn[]; /* language.c */
void (*deprecated_attach_hook) (void);
void (*deprecated_detach_hook) (void);
-/* Called during long calculations to allow GUI to repair window
- damage, and to check for stop buttons, etc... */
-
-void (*deprecated_interactive_hook) (void);
-
/* Called when going to wait for the target. Usually allows the GUI
to run while waiting for target events. */
static void
new_ui_command (const char *args, int from_tty)
{
- gdb_file_up stream[3];
- int i;
int argc;
const char *interpreter_name;
const char *tty_name;
{
scoped_restore save_ui = make_scoped_restore (¤t_ui);
- /* Open specified terminal, once for each of
- stdin/stdout/stderr. */
- for (i = 0; i < 3; i++)
- stream[i] = open_terminal_stream (tty_name);
+ /* Open specified terminal. Note: we used to open it three times,
+ once for each of stdin/stdout/stderr, but that does not work
+ with Windows named pipes. */
+ gdb_file_up stream = open_terminal_stream (tty_name);
std::unique_ptr<ui> ui
- (new struct ui (stream[0].get (), stream[1].get (), stream[2].get ()));
+ (new struct ui (stream.get (), stream.get (), stream.get ()));
ui->async = 1;
interp_pre_command_loop (top_level_interpreter ());
- /* Make sure the files are not closed. */
- stream[0].release ();
- stream[1].release ();
- stream[2].release ();
+ /* Make sure the file is not closed. */
+ stream.release ();
ui.release ();
}
/* See command.h */
-void
+const char *
repeat_previous ()
{
/* Do not repeat this command, as this command is a repeating command. */
so swap it with previous_saved_command_line. */
std::swap (previous_saved_command_line, saved_command_line);
std::swap (previous_repeat_arguments, repeat_arguments);
+
+ const char *prev = skip_spaces (get_saved_command_line ());
+ if (*prev == '\0')
+ error (_("No previous command to relaunch"));
+ return prev;
}
/* See command.h. */
--without-intel-pt\n\
"));
#endif
-#if HAVE_LIBMCHECK
- fprintf_filtered (stream, _("\
- --enable-libmcheck\n\
-"));
-#else
- fprintf_filtered (stream, _("\
- --disable-libmcheck\n\
-"));
-#endif
#if HAVE_LIBMPFR
fprintf_filtered (stream, _("\
--with-mpfr\n\
add_setshow_string_cmd ("prompt", class_support,
&top_prompt,
- _("Set gdb's prompt"),
- _("Show gdb's prompt"),
+ _("Set gdb's prompt."),
+ _("Show gdb's prompt."),
NULL, NULL,
show_prompt,
&setlist, &showlist);
add_setshow_zuinteger_unlimited_cmd ("size", no_class,
&history_size_setshow_var, _("\
-Set the size of the command history,"), _("\
-Show the size of the command history,"), _("\
-ie. the number of previous commands to keep a record of.\n\
+Set the size of the command history."), _("\
+Show the size of the command history."), _("\
+This is the number of previous commands to keep a record of.\n\
If set to \"unlimited\", the number of commands kept in the history\n\
list is unlimited. This defaults to the value of the environment\n\
variable \"GDBHISTSIZE\", or to 256 if this variable is not set."),
&sethistlist, &showhistlist);
add_setshow_filename_cmd ("filename", no_class, &history_filename, _("\
-Set the filename in which to record the command history"), _("\
-Show the filename in which to record the command history"), _("\
+Set the filename in which to record the command history."), _("\
+Show the filename in which to record the command history."), _("\
(the list of previous commands of which a record is kept)."),
set_history_filename,
show_history_filename,
&setlist, &showlist);
c = add_cmd ("new-ui", class_support, new_ui_command, _("\
-Create a new UI. It takes two arguments:\n\
+Create a new UI.\n\
+Usage: new-ui INTERPRETER TTY\n\
The first argument is the name of the interpreter to run.\n\
The second argument is the terminal the UI runs on."), &cmdlist);
set_cmd_completer (c, interpreter_completer);
initialize_progspace ();
initialize_inferiors ();
initialize_current_architecture ();
- init_cli_cmds();
init_main (); /* But that omits this file! Do it now. */
initialize_stdin_serial ();