gdb: Fix scrolling in TUI
authorTom Tromey <tom@tromey.com>
Sun, 22 Dec 2019 23:52:56 +0000 (16:52 -0700)
committerAndrew Burgess <andrew.burgess@embecosm.com>
Thu, 9 Jan 2020 23:11:46 +0000 (23:11 +0000)
commit9ae6bf640dc7c950e6f36097a3d2d760a132a542
tree56debc86e8389a30050d484139d13ddb6024240c
parentb2efe70cf34e2f3ada8d0def69e53f27a6b71578
gdb: Fix scrolling in TUI

Hannes Domani pointed out that my previous patch to fix the "list"
command in the TUI instead broke vertical scrolling.  While looking at
this, I found that do_scroll_vertical calls print_source_lines, which
seems like a very roundabout way to change the source window.  This
patch removes this oddity and fixes the bug at the same time.

I've added a new test case.  This is somewhat tricky, because the
obvious approach of sending a dummy command after the scroll did not
work -- due to how the TUI works, sennding a command causes the scroll
to take effect.

gdb/ChangeLog
2019-12-22  Tom Tromey  <tom@tromey.com>

PR tui/18932:
* tui/tui-source.c (tui_source_window::do_scroll_vertical): Call
update_source_window, not print_source_lines.

gdb/testsuite/ChangeLog
2019-12-22  Tom Tromey  <tom@tromey.com>

PR tui/18932:
* lib/tuiterm.exp (Term::wait_for): Rename from _accept.  Return a
meangingful value.
(Term::command, Term::resize): Update.
* gdb.tui/basic.exp: Add scrolling test.

Change-Id: I9636a7c8a8cade37431c6165ee996a9d556ef1c8
gdb/ChangeLog
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.tui/basic.exp
gdb/testsuite/lib/tuiterm.exp
gdb/tui/tui-source.c