diff src/.gdbinit @ 83453:55e22205ba88

Merged from miles@gnu.org--gnu-2005 (patch 683-684) Patches applied: * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-683 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-684 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-493
author Karoly Lorentey <lorentey@elte.hu>
date Fri, 06 Jan 2006 16:13:05 +0000
parents c69d44922688 52ebcbbec4f0
children 8438f5473d99
line wrap: on
line diff
--- a/src/.gdbinit	Thu Jan 05 14:02:59 2006 +0000
+++ b/src/.gdbinit	Fri Jan 06 16:13:05 2006 +0000
@@ -765,21 +765,39 @@
 #set args -geometry 80x40+0+0
 
 # People get bothered when they see messages about non-existent functions...
-echo \n
-echo  If you see messages below about functions not being defined,\n
-echo  don\'t worry about them.  Nothing is wrong.\n
-echo \n
+xgetptr Vsystem_type
+set $tem = (struct Lisp_Symbol *) $ptr
+xgetptr $tem->xname
+set $tem = (struct Lisp_String *) $ptr
+set $tem = (char *) $tem->data
 
-# Don't let abort actually run, as it will make
-# stdio stop working and therefore the `pr' command above as well.
-break abort
+# Don't let abort actually run, as it will make stdio stop working and
+# therefore the `pr' command above as well.
+if $tem[0] == 'w' && $tem[1] == 'i' && $tem[2] == 'n' && $tem[3] == 'd'
+  # The windows-nt build replaces abort with its own function.
+  break w32_abort
+else
+  break abort
+end
 
-# The MS-Windows build replaces abort with its own function.
-break w32_abort
-
-# If we are running in synchronous mode, we want a chance to look around
-# before Emacs exits.  Perhaps we should put the break somewhere else
-# instead...
-break x_error_quitter
-
+# x_error_quitter is defined only on X.  But window-system is set up
+# only at run time, during Emacs startup, so we need to defer setting
+# the breakpoint.  init_sys_modes is the first function called on
+# every platform after init_display, where window-system is set.
+tbreak init_sys_modes
+commands
+  silent
+  xgetptr Vwindow_system
+  set $tem = (struct Lisp_Symbol *) $ptr
+  xgetptr $tem->xname
+  set $tem = (struct Lisp_String *) $ptr
+  set $tem = (char *) $tem->data
+  # If we are running in synchronous mode, we want a chance to look
+  # around before Emacs exits.  Perhaps we should put the break
+  # somewhere else instead...
+  if $tem[0] == 'x' && $tem[1] == '\0'
+    break x_error_quitter
+  end
+  continue
+end
 # arch-tag: 12f34321-7bfa-4240-b77a-3cd3a1696dfe