- case INF_QUIT_REQ:
- /* FIXME: ezannoni 1999-10-04. This call should really be a
- target vector entry, so that it can be used for any kind of
- targets. */
- async_remote_interrupt_twice (NULL);
+ /* When running a command list (from a user command, say), these
+ are only run when the command list is all done. */
+ if (current_ui->async)
+ {
+ check_frame_language_change ();
+
+ /* Don't propagate breakpoint commands errors. Either we're
+ stopping or some command resumes the inferior. The user will
+ be informed. */
+ try
+ {
+ bpstat_do_actions ();
+ }
+ catch (const gdb_exception &e)
+ {
+ /* If the user was running a foreground execution
+ command, then propagate the error so that the prompt
+ can be reenabled. Otherwise, the user already has
+ the prompt and is typing some unrelated command, so
+ just inform the user and swallow the exception. */
+ if (current_ui->prompt_state == PROMPT_BLOCKED)
+ throw;
+ else
+ exception_print (gdb_stderr, e);
+ }
+ }