Fix logging redirection bug with pager
authorTom Tromey <tom@tromey.com>
Mon, 27 Dec 2021 17:53:16 +0000 (10:53 -0700)
committerTom Tromey <tom@tromey.com>
Wed, 29 Dec 2021 17:30:24 +0000 (10:30 -0700)
commit84b334970bb5892a1f50a3d8e9a569263a502224
tree7ac825ff44093c645540268fa098b8bfb128ba30
parentba0084966cfee307631aba6d0f052a39ad773909
Fix logging redirection bug with pager

I noticed yesterday that if gdb output is redirected to a file, the
pager will still be active.  This is irritating, because the output
isn't actually visible -- just the pager prompt.  Looking in bugzilla,
I found that this had been filed 17 years ago, as PR cli/8798.

This patch fixes the bug.  It changes the pagination code to query the
particular ui-file to see if paging is allowable.  The ui-file
implementations are changed so that only the stdout implementation and
a tee (where one sub-file is stdout) can page.

Regression tested on x86-64 Fedora 34.

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=8798
gdb/testsuite/gdb.base/page-logging.exp [new file with mode: 0644]
gdb/ui-file.h
gdb/utils.c