# HG changeset patch # User Kenichi Handa # Date 921456682 0 # Node ID d4ee4399e999ceede23925ae9d79785e29741787 # Parent 0dc19350498fc21422f635b44c242cfb72683977 (x_list_fonts): Trap X errors so that Emacs doesn't die by them. (x_load_font): Likewise. diff -r 0dc19350498f -r d4ee4399e999 src/xterm.c --- a/src/xterm.c Sun Mar 14 19:41:37 1999 +0000 +++ b/src/xterm.c Mon Mar 15 00:11:22 1999 +0000 @@ -6682,6 +6682,7 @@ { struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); Lisp_Object font_names; + int count; /* Get a list of all the fonts that match this name. Once we have a list of matching fonts, we compare them against the fonts @@ -6718,7 +6719,16 @@ fontname = (char *) XSTRING (XCONS (font_names)->car)->data; BLOCK_INPUT; + count = x_catch_errors (FRAME_X_DISPLAY (f)); font = (XFontStruct *) XLoadQueryFont (FRAME_X_DISPLAY (f), fontname); + if (x_had_errors_p (FRAME_X_DISPLAY (f))) + { + /* This error is perhaps due to insufficient memory on X + server. Let's just ignore it. */ + font = NULL; + x_clear_errors (FRAME_X_DISPLAY (f)); + } + x_uncatch_errors (FRAME_X_DISPLAY (f), count); UNBLOCK_INPUT; if (!font) return NULL;