binutils-gdb/gdb/testsuite/lib
Pedro Alves 94696ad31c Canceling pagination caused by execution command from command line aborts readline/gdb
This fixes:

 $ ./gdb program -ex "set height 2" -ex "start"
 ...
 Reading symbols from /home/pedro/gdb/tests/threads...done.
 ---Type <return> to continue, or q <return> to quit---^CQuit  << ctrl-c triggers a Quit

 *type something*
 readline: readline_callback_read_char() called with no handler!
 Aborted
 $

Usually, if an error propagates all the way to the top level, we'll
re-enable stdin, in case the command that was running was a
synchronous command.  That's done in the event loop's actual loop
(event-loop.c:start_event_loop).  However, if a foreground execution
command is run before the event loop starts and throws, nothing is
presently reenabling stdin, which leaves sync_execution set.

When we do start the event loop, because sync_execution is still
(mistakenly) set, display_gdb_prompt removes the readline input
callback, even though stdin is registered in the event loop.  Any
input from here on results in readline aborting.

Such commands are run through catch_command_errors,
catch_command_errors_const, so add the tweak there.

gdb/
2014-07-14  Pedro Alves  <palves@redhat.com>

	PR gdb/17072
	* main.c: Include event-top.h.
	(handle_command_errors): New function.
	(catch_command_errors, catch_command_errors_const): Use it.

gdb/testsuite/
2014-07-14  Pedro Alves  <palves@redhat.com>

	PR gdb/17072
	* gdb.base/paginate-execution-startup.c: New file.
	* gdb.base/paginate-execution-startup.exp: New file.
	* lib/gdb.exp (pagination_prompt): New global.
	(default_gdb_spawn): New procedure, factored out from
	default_gdb_spawn.
	(default_gdb_start): Adjust to call default_gdb_spawn.
	(gdb_spawn): New procedure.
2014-07-14 20:31:04 +01:00
..
ada.exp
append_gdb_boards_dir.exp
cache.exp
cell.exp
cl_util.c
cl_util.h
compiler.c
compiler.cc
cp-support.exp
d-support.exp
dwarf.exp
fortran.exp
future.exp
gdb-guile.exp
gdb-python.exp
gdb-utils.exp
gdb.exp Canceling pagination caused by execution command from command line aborts readline/gdb 2014-07-14 20:31:04 +01:00
gdbserver-support.exp
go.exp
java.exp
mi-support.exp
objc.exp
opencl.exp
opencl_hostapp.c
opencl_kernel.cl
pascal.exp
perftest.exp
prelink-support.exp
prompt.exp
range-stepping-support.exp
selftest-support.exp
set_unbuffered_mode.c
trace-support.exp