Andrew, The following updated patch implements your suggestion of having a new error routine that throw RETURN_QUIT. The backtrace command is now protected with a catch_errors call. I did not change other existing calls to catch_errors to use RETURN_MASK_ERROR instead of RETURN_MASK_ALL. Ok or is there something I have missed? -- Jeff J. 2004-11-04 Jeff Johnston * defs.h (fatal_error, vfatal_error): New function prototypes. * stack.c (backtrace_command_stub): Stub to call backtrace_command_1 via catch_errors. (backtrace_command): Change to call backtrace_command_stub via catch_errors instead of calling backtrace_command_1 directly. (backtrace_full_command): Ditto. * utils.c (error_stream_1): New static function. (verror): Change to call error_stream_1 instead of error_stream. (error_stream): Call error_stream_1 with RETURN_ERROR argument. (vfatal_error, fatal_error): New functions.