diff src/.gdbinit @ 567:696d82e36360

Initial revision
author Jim Blandy <jimb@redhat.com>
date Thu, 05 Mar 1992 16:47:32 +0000
parents
children 40b255f55df3
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/.gdbinit	Thu Mar 05 16:47:32 1992 +0000
@@ -0,0 +1,97 @@
+# Set up something to print out s-expressions.
+define pr
+set Fprin1 ($, Qexternal_debugging_output)
+echo \n
+end
+
+document pr
+Print the emacs s-expression which is $.
+Works only when an inferior emacs is executing.
+end
+
+define xtype
+print (enum Lisp_Type) (($ >> 24) & 0x7f)
+p $$
+end
+
+define xint
+print (($ & 0x00ffffff) << 8) >> 8
+end
+
+define xptr
+print (void *) ($ & 0x00ffffff)
+end
+
+define xwindow
+print (struct window *) ($ & 0x00ffffff)
+end
+
+define xmarker
+print (struct Lisp_Marker *) ($ & 0x00ffffff)
+end
+
+define xbuffer
+print (struct buffer *) ($ & 0x00ffffff)
+end
+
+define xsymbol
+print (struct Lisp_Symbol *) ($ & 0x00ffffff)
+print &$->name->data
+print $$
+end
+
+define xstring
+print (struct Lisp_String *) ($ & 0x00ffffff)
+print ($->data[0])@($->size)
+print $$
+end
+
+document xstring
+Assume that $ is an Emacs Lisp string object, print the string's
+contents, and set $ to a pointer to the string.
+end
+
+define xvector
+set $temp = (struct Lisp_Vector *) ($ & 0x00ffffff)
+print ($temp->contents[0])@($temp->size)
+print $temp
+end
+
+document xvector
+Assume that $ is an Emacs Lisp vector object, print the vector's
+contents, and set $ to a pointer to the vector.
+end
+
+define xscreen
+print (struct screen *) ($ & 0x00ffffff)
+end
+
+define xcons
+print (struct Lisp_Cons *) ($ & 0x00ffffff)
+print *$
+end
+
+define xcar
+print ((($ >> 24) & 0x7f) == Lisp_Cons ? ((struct Lisp_Cons *) ($ & 0x00ffffff))->car : 0)
+end
+
+define xcdr
+print ((($ >> 24) & 0x7f) == Lisp_Cons ? ((struct Lisp_Cons *) ($ & 0x00ffffff))->cdr : 0)
+end
+
+set prettyprint on
+
+# Don't let abort actually run, as it will make
+# stdio stop working and therefore the `pr' command below as well.
+break 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 _XPrintDefaultError
+
+unset env TERMCAP
+unset env TERM
+set env DISPLAY :0.0
+info env DISPLAY
+set args -q