# HG changeset patch # User Richard M. Stallman # Date 1157717594 0 # Node ID 73c180e96f3906cbfbe93e4a7540c17551e0795f # Parent b8c0da552a0066475f4d818ac50fe5bc125e7d52 (x_error_quitter): For BadName error, just return. diff -r b8c0da552a00 -r 73c180e96f39 src/xterm.c --- a/src/xterm.c Fri Sep 08 12:12:39 2006 +0000 +++ b/src/xterm.c Fri Sep 08 12:13:14 2006 +0000 @@ -7500,7 +7500,7 @@ static struct x_error_message_stack *x_error_message; /* An X error handler which stores the error message in - x_error_message_string. This is called from x_error_handler if + *x_error_message. This is called from x_error_handler if x_catch_errors is in effect. */ static void @@ -7519,7 +7519,7 @@ After calling this function, X protocol errors no longer cause Emacs to exit; instead, they are recorded in the string - stored in x_error_message_string. + stored in *x_error_message. Calling x_check_errors signals an Emacs error if an X error has occurred since the last call to x_catch_errors or x_check_errors. @@ -7779,7 +7779,7 @@ /* We specifically use it before defining it, so that gcc doesn't inline it, otherwise gdb doesn't know how to properly put a breakpoint on it. */ -static void x_error_quitter P_ ((Display *, XErrorEvent *)) NO_RETURN; +static void x_error_quitter P_ ((Display *, XErrorEvent *)); /* This is the first-level handler for X protocol errors. It calls x_error_quitter or x_error_catcher. */ @@ -7824,6 +7824,12 @@ { char buf[256], buf1[356]; + /* Ignore BadName errors. They can happen because of fonts + or colors that are not defined. */ + + if (error->error_code == BadName) + return; + /* Note that there is no real way portable across R3/R4 to get the original error handler. */