[2/3] reset pagination counts even when stdin is not a tty
Commit Message
In testing gdb.base/paginate-bg-execution.exp on a remote Windows host
via ssh -T, I observed this output:
set height 2
(gdb) PASS: gdb.base/paginate-bg-execution.exp: paginate: set height 2
continue&
---Type <return> to continue, or q <return> to quit---ERROR: Window too
small.
UNRESOLVED: gdb.base/paginate-bg-execution.exp: paginate: continue&
E.g., it was giving the pagination prompt in a place the testcase wasn't
expecting. I tracked this down to the count of lines already printed
not being reset properly with each command. The call to
reinitialize_more_filter is presently conditional on stdin being a tty,
but the pagination logic itself clearly is not so conditionalized (if it
were, I'd not be seeing any pagination prompting at all when testing in
this configuration). So the obvious fix seems to be to remove that
extra condition. Now the output from that snippet is:
set height 2
(gdb) PASS: gdb.base/paginate-bg-execution.exp: paginate: set height 2
continue&
Continuing.
(gdb) PASS: gdb.base/paginate-bg-execution.exp: paginate: continue&
and the pagination prompts do appear in the subsequent tests, same as in
the Linux-host testing with a TTY.
OK to commit?
-Sandra
Comments
On 12/18/2015 07:43 PM, Sandra Loosemore wrote:
> OK to commit?
OK.
Thanks,
Pedro Alves
@@ -469,11 +469,10 @@ async_disable_stdin (void)
static void
command_handler (char *command)
{
- int stdin_is_tty = ISATTY (stdin);
struct cleanup *stat_chain;
clear_quit_flag ();
- if (instream == stdin && stdin_is_tty)
+ if (instream == stdin)
reinitialize_more_filter ();
/* If readline returned a NULL command, it means that the connection
@@ -542,7 +542,6 @@ command_loop (void)
{
struct cleanup *old_chain;
char *command;
- int stdin_is_tty = ISATTY (stdin);
while (instream && !feof (instream))
{
@@ -550,7 +549,7 @@ command_loop (void)
(*window_hook) (instream, get_prompt ());
clear_quit_flag ();
- if (instream == stdin && stdin_is_tty)
+ if (instream == stdin)
reinitialize_more_filter ();
old_chain = make_cleanup (null_cleanup, 0);