binutils-gdb/gdb/testsuite/gdb.base/page.exp
Tom Tromey eb6af80922 Add "continue" response to pager
This adds a "continue" response to the pager.  If the user types "c"
in response to the pager prompt, pagination will be disabled for the
duration of one command -- but re-enabled afterward.  This is handy if
you type a command that produces a lot of output, and you don't want
to baby-sit it by typing "return" each time the prompt comes up.

Tested by the buildbot.

gdb/ChangeLog
2018-06-05  Tom Tromey	<tom@tromey.com>

	PR cli/12326:
	* NEWS: Add entry about pager.
	* utils.c (pagination_disabled_for_command): New global.
	(prompt_for_continue): Allow "c" response to prompt.
	(reinitialize_more_filter): Clear
	pagination_disabled_for_command.
	(fputs_maybe_filtered): Check pagination_disabled_for_command.

gdb/doc/ChangeLog
2018-06-05  Tom Tromey	<tom@tromey.com>

	PR cli/12326:
	* gdb.texinfo (Screen Size): Document "c" response to pagination
	prompt.

gdb/testsuite/ChangeLog
2018-06-05  Tom Tromey	<tom@tromey.com>

	PR cli/12326:
	* gdb.cp/static-print-quit.exp: Update.
	* lib/gdb.exp (pagination_prompt): Update.
	* gdb.base/page.exp: Use pagination_prompt.  Add new tests.
	* gdb.python/python.exp: Update.
2018-06-05 11:02:52 -06:00

86 lines
2.5 KiB
Plaintext

# Copyright 1992-2018 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. */
# This file was written by Fred Fish. (fnf@cygnus.com)
gdb_exit
gdb_start
gdb_test_no_output "set pagination off"
gdb_test "show pagination" "State of pagination is off.*" "pagination is off"
gdb_test_sequence "help" "unpaged help" {
"List of classes of commands:"
""
"aliases -- Aliases of other commands"
"breakpoints -- Making program stop at certain points"
"data -- Examining data"
"files -- Specifying and examining files"
"internals -- Maintenance commands"
"obscure -- Obscure features"
"running -- Running the program"
"stack -- Examining the stack"
"status -- Status inquiries"
"support -- Support facilities"
"tracepoints -- Tracing of program execution without stopping the program"
"user-defined -- User-defined commands"
""
"Type .help. followed by a class name for a list of commands in that class."
"Type .help. followed by command name for full documentation."
"Command name abbreviations are allowed if unambiguous."
}
gdb_test_no_output "set pagination on"
gdb_test "show pagination" "State of pagination is on.*" "pagination is on"
gdb_test_no_output "set height 10"
send_gdb "help\n"
gdb_expect_list "paged help" \
".*$pagination_prompt" {
"List of classes of commands:"
""
"aliases -- Aliases of other commands"
"breakpoints -- Making program stop at certain points"
"data -- Examining data"
"files -- Specifying and examining files"
"internals -- Maintenance commands"
"obscure -- Obscure features"
"running -- Running the program"
}
gdb_test "q"
gdb_test_no_output "set height 5"
send_gdb "printf \"1\\n2\\n3\\n4\\n5\\n6\\n7\\n8\\n9\\n10\\n11\"\n"
gdb_expect_list "paged count" \
".*$pagination_prompt" {
1
2
3
4
}
send_gdb "c\n"
gdb_expect_list "paged count remainder" "${gdb_prompt} " {
5
6
7
8
9
10
11
}
gdb_exit
return 0