diff options
author | Jim Blandy <jimb@redhat.com> | 1992-03-05 16:47:32 +0000 |
---|---|---|
committer | Jim Blandy <jimb@redhat.com> | 1992-03-05 16:47:32 +0000 |
commit | 4b4d24d15d9b7d1ba0c7b3490bda6f6d8de3440a (patch) | |
tree | 0c1c96b5db16d91240ab029b98fca00b99fe7302 /src | |
parent | 90551a985f0e24d5f711c4c2a7bc77503a5f66c0 (diff) | |
download | emacs-4b4d24d15d9b7d1ba0c7b3490bda6f6d8de3440a.tar.gz |
Initial revision
Diffstat (limited to 'src')
-rw-r--r-- | src/.gdbinit | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/src/.gdbinit b/src/.gdbinit new file mode 100644 index 00000000000..bd6646da5fc --- /dev/null +++ b/src/.gdbinit @@ -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 |