command files specified with @samp{-x} (and all commands from
initialization files, if not inhibited with @samp{-n}). Exit with
nonzero status if an error occurs in executing the @value{GDBN} commands
-in the command files.
+in the command files. Batch mode also disables pagination;
+@pxref{Screen Size} and acts as if @kbd{set confirm off} were in
+effect (@pxref{Messages/Warnings}).
Batch mode may be useful for running @value{GDBN} as a filter, for
example to download and run a program on another computer; in order to
@itemx set pagination off
@kindex set pagination
Turn the output pagination on or off; the default is on. Turning
-pagination off is the alternative to @code{set height 0}.
+pagination off is the alternative to @code{set height 0}. Note that
+running @value{GDBN} with the @option{--batch} option (@pxref{Mode
+Options, -batch}) also automatically disables pagination.
@item show pagination
@kindex show pagination
@cindex confirmation
@cindex stupid questions
@item set confirm off
-Disables confirmation requests.
+Disables confirmation requests. Note that running @value{GDBN} with
+the @option{--batch} option (@pxref{Mode Options, -batch}) also
+automatically disables confirmation requests.
@item set confirm on
Enables confirmation requests (the default).
struct ui_file *gdb_stdtarg;
struct ui_file *gdb_stdtargerr;
+/* True if --batch or --batch-silent was seen. */
+int batch_flag = 0;
+
/* Support for the --batch-silent option. */
int batch_silent = 0;
int argc = context->argc;
char **argv = context->argv;
static int quiet = 0;
- static int batch = 0;
static int set_args = 0;
/* Pointers to various arguments from command line. */
{"nx", no_argument, &inhibit_gdbinit, 1},
{"n", no_argument, &inhibit_gdbinit, 1},
{"batch-silent", no_argument, 0, 'B'},
- {"batch", no_argument, &batch, 1},
+ {"batch", no_argument, &batch_flag, 1},
{"epoch", no_argument, &epoch_interface, 1},
/* This is a synonym for "--annotate=1". --annotate is now preferred,
}
break;
case 'B':
- batch = batch_silent = 1;
+ batch_flag = batch_silent = 1;
gdb_stdout = ui_file_new();
break;
#ifdef GDBTK
use_windows = 0;
}
- if (batch)
+ if (batch_flag)
quiet = 1;
}
/* The exec file and the symbol-file are the same. If we can't
open it, better only print one error message.
catch_command_errors returns non-zero on success! */
- if (catch_command_errors (exec_file_attach, execarg, !batch, RETURN_MASK_ALL))
- catch_command_errors (symbol_file_add_main, symarg, !batch, RETURN_MASK_ALL);
+ if (catch_command_errors (exec_file_attach, execarg, !batch_flag, RETURN_MASK_ALL))
+ catch_command_errors (symbol_file_add_main, symarg, !batch_flag, RETURN_MASK_ALL);
}
else
{
if (execarg != NULL)
- catch_command_errors (exec_file_attach, execarg, !batch, RETURN_MASK_ALL);
+ catch_command_errors (exec_file_attach, execarg, !batch_flag, RETURN_MASK_ALL);
if (symarg != NULL)
- catch_command_errors (symbol_file_add_main, symarg, !batch, RETURN_MASK_ALL);
+ catch_command_errors (symbol_file_add_main, symarg, !batch_flag, RETURN_MASK_ALL);
}
if (corearg && pidarg)
if (corearg != NULL)
catch_command_errors (core_file_command, corearg,
- !batch, RETURN_MASK_ALL);
+ !batch_flag, RETURN_MASK_ALL);
else if (pidarg != NULL)
catch_command_errors (attach_command, pidarg,
- !batch, RETURN_MASK_ALL);
+ !batch_flag, RETURN_MASK_ALL);
else if (pid_or_core_arg)
{
/* The user specified 'gdb program pid' or gdb program core'.
if (isdigit (pid_or_core_arg[0]))
{
if (catch_command_errors (attach_command, pid_or_core_arg,
- !batch, RETURN_MASK_ALL) == 0)
+ !batch_flag, RETURN_MASK_ALL) == 0)
catch_command_errors (core_file_command, pid_or_core_arg,
- !batch, RETURN_MASK_ALL);
+ !batch_flag, RETURN_MASK_ALL);
}
else /* Can't be a pid, better be a corefile. */
catch_command_errors (core_file_command, pid_or_core_arg,
- !batch, RETURN_MASK_ALL);
+ !batch_flag, RETURN_MASK_ALL);
}
if (ttyarg != NULL)
{
if (cmdarg[i].type == CMDARG_FILE)
catch_command_errors (source_script, cmdarg[i].string,
- !batch, RETURN_MASK_ALL);
+ !batch_flag, RETURN_MASK_ALL);
else /* cmdarg[i].type == CMDARG_COMMAND */
catch_command_errors (execute_command, cmdarg[i].string,
- !batch, RETURN_MASK_ALL);
+ !batch_flag, RETURN_MASK_ALL);
}
xfree (cmdarg);
/* Read in the old history after all the command files have been read. */
init_history ();
- if (batch)
+ if (batch_flag)
{
/* We have hit the end of the batch file. */
quit_force (NULL, 0);