emacs-pretest-bug
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: x_error_quitter


From: Chong Yidong
Subject: Re: x_error_quitter
Date: Sun, 18 Mar 2007 10:22:15 -0400
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.95 (gnu/linux)

address@hidden writes:

> again, emacs dies in x_error_quitter:
>
> Breakpoint 3, x_error_quitter (display=0x8591e38, error=0xbfe939a8)
>     at xterm.c:7859
> 7859      if (error->error_code == BadName)

This is yet another example of a X protocol error that shouldn't cause
Emacs to abort.  In this case, I think the internal X windows code
called through XtVaSetValues is trying to request a font that hasn't
been installed, leading to a BadName protocol error.

Like I said before, the correct fix is to cause Emacs to simply print
a warning message, instead of aborting, when such an error is
received, since these are supposed to be non-fatal errors.  However,
Richard has vetoed this fix for Emacs 22.

The following patch prevent Emacs from aborting in this situation.

*** emacs/src/xterm.c.~1.943.~  2007-03-09 12:41:38.000000000 -0500
--- emacs/src/xterm.c   2007-03-18 10:09:26.000000000 -0400
***************
*** 8728,8734 ****
--- 8728,8736 ----
         figure out a correct fix.  Can anyone else tell me? -- rms.  */
        int xpos = f->output_data.x->widget->core.x;
        int ypos = f->output_data.x->widget->core.y;
+       x_catch_errors (FRAME_X_DISPLAY (f));
        EmacsFrameSetCharSize (f->output_data.x->edit_widget, cols, rows);
+       x_uncatch_errors ();
        f->output_data.x->widget->core.x = xpos;
        f->output_data.x->widget->core.y = ypos;
      }





reply via email to

[Prev in Thread] Current Thread [Next in Thread]