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

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

Re: gdb emacs reporting 'Function "x_error_quitter" not defined' [includ


From: Andrew M. Scott
Subject: Re: gdb emacs reporting 'Function "x_error_quitter" not defined' [includes PATCH]
Date: Thu, 27 Jan 2005 13:44:40 -0700

>>>>> "Nick" == Nick Roberts <address@hidden> writes:

    >> I installed a change that should fix it, until GCC gets smarter.

    Nick> Only someone with gcc 3.4 or 3.4.2 would know whether this actually 
does
    Nick> fix the problem. Perhaps, for completeness, we should ask Andrew 
Scott.

    Nick> Andrew,

    Nick> If you update and recompile Emacs, can you now set a breakpoint at
    Nick> x_error_quitter?

1. Richard's Jan 24, 2005 xterm.c cvs commit worked for gcc 3.3.2 but generates
   the following build error on gcc 3.4.2:

gcc -c -D_BSD_SOURCE   -Demacs -DHAVE_CONFIG_H -DUSE_LUCID  -I. 
-I/stor/garray/src/savannah/emacs/src -D_BSD_SOURCE 
-I/usr/intel/pkgs/X11/R6.7.0/include -g -O2 
/stor/garray/src/savannah/emacs/src/xterm.c
/stor/garray/src/savannah/emacs/src/xterm.c:7794: error: conflicting types for 
'x_error_quitter'
/stor/garray/src/savannah/emacs/src/xterm.c:7780: error: previous implicit 
declaration of 'x_error_quitter' was here
gmake[1]: *** [xterm.o] Error 1

2. If I apply the xterm.c patch (below) posted by Gary Lawrence Murphy to 
gnu.emacs.bug on Jan 27, 2005
   then the x_error_quitter breakpoint works correctly on *both* gcc 3.3.2 
*and* 3.4.2 builds
   of CVS Emacs-21.3.50 under gdb-6.3.

Thanks.
Andy Scott

diff -u -r1.857 xterm.c
--- src/xterm.c 25 Jan 2005 01:26:57 -0000  1.857
+++ src/xterm.c 27 Jan 2005 15:07:22 -0000
@@ -7766,21 +7766,6 @@
   error ("%s", error_msg);
 }
 
-/* This is the first-level handler for X protocol errors.
-   It calls x_error_quitter or x_error_catcher.  */
-
-static int
-x_error_handler (display, error)
-     Display *display;
-     XErrorEvent *error;
-{
-  if (! NILP (x_error_message_string))
-    x_error_catcher (display, error);
-  else
-    x_error_quitter (display, error);
-  return 0;
-}
-
 /* This is the usual handler for X protocol errors.
    It kills all frames on the display that we got the error for.
    If that was the only one, it prints an error message and kills Emacs.  */
@@ -7806,6 +7791,21 @@
 }
 
 
+/* This is the first-level handler for X protocol errors.
+   It calls x_error_quitter or x_error_catcher.  */
+
+static int
+x_error_handler (display, error)
+     Display *display;
+     XErrorEvent *error;
+{
+  if (! NILP (x_error_message_string))
+    x_error_catcher (display, error);
+  else
+    x_error_quitter (display, error);
+  return 0;
+}
+
 /* This is the handler for X IO errors, always.
    It kills all frames on the display that we lost touch with.
    If that was the only one, it prints an error message and kills Emacs.  */







reply via email to

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