summaryrefslogtreecommitdiff
path: root/src/.gdbinit
diff options
context:
space:
mode:
authorJim Blandy <jimb@redhat.com>1992-05-10 18:15:10 +0000
committerJim Blandy <jimb@redhat.com>1992-05-10 18:15:10 +0000
commitbb3957de24087c0de67e2ee5961780331bb616b6 (patch)
tree10c58e8672735be4817a52b64537fb16212c8281 /src/.gdbinit
parent9c8d27372ede4d8763584d5c6b1645aef6f6c08f (diff)
downloademacs-bb3957de24087c0de67e2ee5961780331bb616b6.tar.gz
*** empty log message ***
Diffstat (limited to 'src/.gdbinit')
-rw-r--r--src/.gdbinit59
1 files changed, 45 insertions, 14 deletions
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