This patch moves the check for deprecated_query_hook before input-not-from-terminal check in defaulted_query, instead of after it. Presently, the only thing that uses deprecated_query_hook is the MI backend, which uses it to suppress the question entirely, so that the current behavior leads to the situation where nothing is printed when the input is a terminal but there is a message otherwise, which is somewhat odd. The specific problem this patch solves is a testing issue with gdbserver. mi_gdb_target_load says: mi_gdb_test "kill" ".*" "" and if the test harness is not running GDB from a terminal we get: Expecting: ^(kill[ ]+)?(.*[ ]+[(]gdb[)] [ ]*) kill &"kill\n" ~"Kill the program being debugged? (y or n) [answered Y; input not from terminal]\n" ERROR: Got interactive prompt. because it is tripping over the "\\(y or n\\) " pattern in mi_gdb_test. Of course mi_gdb_test could be fixed to recognize the "input not from terminal" message as valid, but I don't think that's the intended MI behavior. I think this is a bug in GDB, not the testsuite. OK to commit? -Sandra