From bb3957de24087c0de67e2ee5961780331bb616b6 Mon Sep 17 00:00:00 2001 From: Jim Blandy Date: Sun, 10 May 1992 18:15:10 +0000 Subject: *** empty log message *** --- src/.gdbinit | 59 +++++++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 45 insertions(+), 14 deletions(-) (limited to 'src/.gdbinit') diff --git a/src/.gdbinit b/src/.gdbinit index bd6646da5fc..55000f571eb 100644 --- a/src/.gdbinit +++ b/src/.gdbinit @@ -3,7 +3,6 @@ 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. @@ -13,73 +12,105 @@ define xtype print (enum Lisp_Type) (($ >> 24) & 0x7f) p $$ end +document xtype +Print the type of $, assuming it is an Elisp value. +end define xint print (($ & 0x00ffffff) << 8) >> 8 end +document xint +Print $, assuming it is an Elisp integer. This gets the sign right. +end define xptr print (void *) ($ & 0x00ffffff) end +document xptr +Print the pointer portion of $, assuming it is an Elisp value. +end define xwindow print (struct window *) ($ & 0x00ffffff) end +document xwindow +Print $ as a window pointer, assuming it is an Elisp window value. +end define xmarker print (struct Lisp_Marker *) ($ & 0x00ffffff) end +document xmarker +Print $ as a marker pointer, assuming it is an Elisp marker value. +end define xbuffer print (struct buffer *) ($ & 0x00ffffff) end +document xbuffer +Print $ as a buffer pointer, assuming it is an Elisp buffer value. +end define xsymbol print (struct Lisp_Symbol *) ($ & 0x00ffffff) print &$->name->data print $$ end +document xsymbol +Print the name and address of the symbol $. +This command assumes that $ is an Elisp symbol value. +end define xstring print (struct Lisp_String *) ($ & 0x00ffffff) -print ($->data[0])@($->size) +print ($->size > 10000) ? "big string" : ($->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. +Print the contents and address of the string $. +This command assumes that $ is an Elisp string value. end define xvector set $temp = (struct Lisp_Vector *) ($ & 0x00ffffff) -print ($temp->contents[0])@($temp->size) +print ($temp->size > 10000) ? "big vector" : ($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. +Print the contents and address of the vector $. +This command assumes that $ is an Elisp vector value. end define xscreen print (struct screen *) ($ & 0x00ffffff) end +document xwindow +Print $ as a screen pointer, assuming it is an Elisp screen value. +end define xcons print (struct Lisp_Cons *) ($ & 0x00ffffff) print *$ end +document xcons +Print the contents of $, assuming it is an Elisp cons. +end define xcar print ((($ >> 24) & 0x7f) == Lisp_Cons ? ((struct Lisp_Cons *) ($ & 0x00ffffff))->car : 0) end +document xcar +Print the car of $, assuming it is an Elisp pair. +end define xcdr print ((($ >> 24) & 0x7f) == Lisp_Cons ? ((struct Lisp_Cons *) ($ & 0x00ffffff))->cdr : 0) end +document xcdr +Print the cdr of $, assuming it is an Elisp pair. +end -set prettyprint on +set print pretty on # Don't let abort actually run, as it will make # stdio stop working and therefore the `pr' command below as well. @@ -90,8 +121,8 @@ break abort # instead... break _XPrintDefaultError -unset env TERMCAP -unset env TERM -set env DISPLAY :0.0 -info env DISPLAY +unset environment TERMCAP +unset environment TERM +set environment DISPLAY :0.0 +show environment DISPLAY set args -q -- cgit v1.2.1