This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [patch] Do not break while asking with -batch
On Fri, 23 Jul 2010 19:39:49 +0200, Tom Tromey wrote:
> I think it would be reasonable to disable pagination if --batch or if
> !input_from_terminal_p. Actually, I thought we already did this for
> batch...
>
> That would mean putting the check in fputs_maybe_filtered alongside all
> the other ones.
Or maybe this more radical patch?
No regressions on {x86_64,x86_64-m32,i686}-fedora13-linux-gnu.
Thanks,
Jan
2010-07-23 Jan Kratochvil <jan.kratochvil@redhat.com>
* top.c (input_from_terminal_p): Return 0 on BATCH_FLAG.
* utils.c (defaulted_query): Do not explicitly check for BATCH_FLAG.
(fputs_maybe_filtered): Do not do filtering also on
! INPUT_FROM_TERMINAL_P.
--- a/gdb/top.c
+++ b/gdb/top.c
@@ -1242,6 +1242,9 @@ input_from_terminal_p (void)
if (interactive_mode != AUTO_BOOLEAN_AUTO)
return interactive_mode == AUTO_BOOLEAN_TRUE;
+ if (batch_flag)
+ return 0;
+
if (gdb_has_a_terminal () && instream == stdin)
return 1;
--- a/gdb/utils.c
+++ b/gdb/utils.c
@@ -1634,7 +1634,7 @@ defaulted_query (const char *ctlstr, const char defchar, va_list args)
question we're asking, and then answer the default automatically. This
way, important error messages don't get lost when talking to GDB
over a pipe. */
- if (batch_flag || ! input_from_terminal_p ())
+ if (! input_from_terminal_p ())
{
wrap_here ("");
vfprintf_filtered (gdb_stdout, ctlstr, args);
@@ -2352,7 +2352,8 @@ fputs_maybe_filtered (const char *linebuffer, struct ui_file *stream,
/* Don't do any filtering if it is disabled. */
if (stream != gdb_stdout
- || !pagination_enabled
+ || ! pagination_enabled
+ || ! input_from_terminal_p ()
|| (lines_per_page == UINT_MAX && chars_per_line == UINT_MAX)
|| top_level_interpreter () == NULL
|| ui_out_is_mi_like_p (interp_ui_out (top_level_interpreter ())))