annotate src/gdbinit @ 437:e2a4e8b94b82

Added tag r21-2-26 for changeset 080151679be2
author cvs
date Mon, 13 Aug 2007 11:31:26 +0200
parents 3ecd8885ac67
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1 # -*- ksh -*-
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2 # Copyright (C) 1998 Free Software Foundation, Inc.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4 # This file is part of XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
6 # XEmacs is free software; you can redistribute it and/or modify it
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
7 # under the terms of the GNU General Public License as published by the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8 # Free Software Foundation; either version 2, or (at your option) any
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
9 # later version.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
10
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
11 # XEmacs is distributed in the hope that it will be useful, but WITHOUT
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
13 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
14 # for more details.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
15
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
16 # You should have received a copy of the GNU General Public License
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
17 # along with XEmacs; see the file COPYING. If not, write to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
18 # the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
19 # Boston, MA 02111-1307, USA.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
20
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
21 # Author: Martin Buchholz
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
22
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
23 # Some useful commands for debugging emacs with gdb 4.16 or better.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
24 # Install this as your .gdbinit file in your home directory,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
25 # or source this file from your .gdbinit
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
26 # Configure xemacs with --debug, and compile with -g.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
27 #
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
28 # See also the question of the XEmacs FAQ, titled
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
29 # "How to Debug an XEmacs problem with a debugger".
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
30 #
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
31 # This can be used to debug XEmacs no matter how the following are
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
32 # specified:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
33
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
34 # USE_UNION_TYPE
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
35
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
36 # (the above all have configure equivalents)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
37
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
38 # Some functions defined here require a running process, but most
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
39 # don't. Considerable effort has been expended to this end.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
40
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
41 # See the dbg_ C support code in src/alloc.c that allows the functions
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
42 # defined in this file to work correctly.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
43
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
44 set print union off
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
45 set print pretty off
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
46
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
47 define decode_object
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
48 set $obj = (unsigned long) $arg0
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
49 if $obj & 1
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
50 # It's an int
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
51 set $val = $obj >> 1
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
52 set $type = Lisp_Type_Int
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
53 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
54 set $type = $obj & dbg_typemask
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
55 if $type == Lisp_Type_Char
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
56 set $val = ($obj & dbg_valmask) >> dbg_gctypebits
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
57 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
58 # It's a record pointer
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
59 set $val = $obj
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
60 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
61 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
62
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
63 if $type == Lisp_Type_Record
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
64 set $lheader = (struct lrecord_header *) $val
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
65 set $imp = lrecord_implementations_table[$lheader->type]
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
66 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
67 set $imp = -1
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
68 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
69 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
70
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
71 document decode_object
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
72 Usage: decode_object lisp_object
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
73 Extract implementation information from a Lisp Object.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
74 Defines variables $val, $type and $imp.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
75 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
76
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
77 define xint
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
78 decode_object $arg0
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
79 print ((long) $val)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
80 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
81
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
82 define xtype
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
83 decode_object $arg0
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
84 if $type == Lisp_Type_Int
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
85 echo int\n
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
86 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
87 if $type == Lisp_Type_Char
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
88 echo char\n
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
89 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
90 if $type == Lisp_Type_Symbol
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
91 echo symbol\n
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
92 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
93 if $type == Lisp_Type_String
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
94 echo string\n
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
95 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
96 if $type == Lisp_Type_Vector
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
97 echo vector\n
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
98 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
99 if $type == Lisp_Type_Cons
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
100 echo cons\n
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
101 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
102 printf "record type: %s\n", $imp->name
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
103 # barf
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
104 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
105 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
106 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
107 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
108 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
109 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
110 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
111
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
112 define lisp-shadows
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
113 run -batch -vanilla -f list-load-path-shadows
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
114 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
115
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
116 document lisp-shadows
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
117 Usage: lisp-shadows
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
118 Run xemacs to check for lisp shadows
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
119 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
120
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
121 define environment-to-run-temacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
122 unset env EMACSLOADPATH
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
123 set env EMACSBOOTSTRAPLOADPATH=../lisp/:..
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
124 set env EMACSBOOTSTRAPMODULEPATH=../modules/:..
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
125 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
126
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
127 define run-temacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
128 environment-to-run-temacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
129 run -batch -l ../lisp/loadup.el run-temacs -q
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
130 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
131
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
132 document run-temacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
133 Usage: run-temacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
134 Run temacs interactively, like xemacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
135 Use this with debugging tools (like purify) that cannot deal with dumping,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
136 or when temacs builds successfully, but xemacs does not.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
137 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
138
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
139 define update-elc
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
140 environment-to-run-temacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
141 run -batch -l ../lisp/update-elc.el
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
142 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
143
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
144 document update-elc
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
145 Usage: update-elc
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
146 Run the core lisp byte compilation part of the build procedure.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
147 Use when debugging temacs, not xemacs!
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
148 Use this when temacs builds successfully, but xemacs does not.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
149 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
150
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
151 define dump-temacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
152 environment-to-run-temacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
153 run -batch -l ../lisp/loadup.el dump
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
154 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
155
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
156 document dump-temacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
157 Usage: dump-temacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
158 Run the dumping part of the build procedure.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
159 Use when debugging temacs, not xemacs!
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
160 Use this when temacs builds successfully, but xemacs does not.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
161 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
162
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
163 # if you use Purify, do this:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
164 # export PURIFYOPTIONS='-pointer-mask=0x0fffffff'
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
165
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
166 define ldp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
167 printf "%s", "Lisp => "
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
168 call debug_print($arg0)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
169 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
170
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
171 document ldp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
172 Usage: ldp lisp_object
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
173 Print a Lisp Object value using the Lisp printer.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
174 Requires a running xemacs process.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
175 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
176
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
177 define lbt
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
178 call debug_backtrace()
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
179 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
180
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
181 document lbt
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
182 Usage: lbt
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
183 Print the current Lisp stack trace.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
184 Requires a running xemacs process.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
185 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
186
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
187
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
188 define leval
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
189 ldp Feval(Fcar(Fread_from_string(build_string($arg0),Qnil,Qnil)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
190 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
191
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
192 document leval
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
193 Usage: leval "SEXP"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
194 Eval a lisp expression.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
195 Requires a running xemacs process.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
196
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
197 Example:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
198 (gdb) leval "(+ 1 2)"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
199 Lisp ==> 3
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
200 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
201
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
202
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
203 define wtype
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
204 print $arg0->core.widget_class->core_class.class_name
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
205 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
206
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
207 define xtname
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
208 print XrmQuarkToString(((Object)($arg0))->object.xrm_name)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
209 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
210
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
211 # GDB's command language makes you want to ...
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
212
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
213 define pstruct
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
214 set $xstruct = (struct $arg0 *) $val
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
215 print $xstruct
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
216 print *$xstruct
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
217 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
218
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
219 define pobj
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
220 decode_object $arg0
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
221 if $type == Lisp_Type_Int
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
222 printf "Integer: %d\n", $val
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
223 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
224 if $type == Lisp_Type_Char
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
225 if $val > 32 && $val < 128
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
226 printf "Char: %c\n", $val
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
227 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
228 printf "Char: %d\n", $val
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
229 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
230 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
231 if $type == Lisp_Type_String || $imp == &lrecord_string
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
232 pstruct Lisp_String
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
233 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
234 if $type == Lisp_Type_Cons || $imp == &lrecord_cons
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
235 pstruct Lisp_Cons
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
236 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
237 if $type == Lisp_Type_Symbol || $imp == &lrecord_symbol
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
238 pstruct Lisp_Symbol
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
239 printf "Symbol name: %s\n", $xstruct->name->data
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
240 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
241 if $type == Lisp_Type_Vector || $imp == &lrecord_vector
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
242 pstruct Lisp_Vector
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
243 printf "Vector of length %d\n", $xstruct->size
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
244 #print *($xstruct->data) @ $xstruct->size
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
245 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
246 if $imp == &lrecord_bit_vector
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
247 pstruct Lisp_Bit_Vector
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
248 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
249 if $imp == &lrecord_buffer
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
250 pstruct buffer
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
251 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
252 if $imp == &lrecord_char_table
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
253 pstruct Lisp_Char_Table
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
254 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
255 if $imp == &lrecord_char_table_entry
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
256 pstruct Lisp_Char_Table_Entry
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
257 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
258 if $imp == &lrecord_charset
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
259 pstruct Lisp_Charset
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
260 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
261 if $imp == &lrecord_coding_system
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
262 pstruct Lisp_Coding_System
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
263 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
264 if $imp == &lrecord_color_instance
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
265 pstruct Lisp_Color_Instance
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
266 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
267 if $imp == &lrecord_command_builder
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
268 pstruct command_builder
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
269 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
270 if $imp == &lrecord_compiled_function
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
271 pstruct Lisp_Compiled_Function
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
272 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
273 if $imp == &lrecord_console
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
274 pstruct console
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
275 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
276 if $imp == &lrecord_database
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
277 pstruct Lisp_Database
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
278 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
279 if $imp == &lrecord_device
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
280 pstruct device
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
281 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
282 if $imp == &lrecord_event
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
283 pstruct Lisp_Event
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
284 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
285 if $imp == &lrecord_extent
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
286 pstruct extent
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
287 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
288 if $imp == &lrecord_extent_auxiliary
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
289 pstruct extent_auxiliary
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
290 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
291 if $imp == &lrecord_extent_info
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
292 pstruct extent_info
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
293 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
294 if $imp == &lrecord_face
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
295 pstruct Lisp_Face
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
296 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
297 if $imp == &lrecord_float
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
298 pstruct Lisp_Float
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
299 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
300 if $imp == &lrecord_font_instance
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
301 pstruct Lisp_Font_Instance
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
302 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
303 if $imp == &lrecord_frame
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
304 pstruct frame
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
305 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
306 if $imp == &lrecord_glyph
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
307 pstruct Lisp_Glyph
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
308 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
309 if $imp == &lrecord_hash_table
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
310 pstruct Lisp_Hash_Table
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
311 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
312 if $imp == &lrecord_image_instance
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
313 pstruct Lisp_Image_Instance
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
314 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
315 if $imp == &lrecord_keymap
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
316 pstruct Lisp_Keymap
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
317 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
318 if $imp == &lrecord_lcrecord_list
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
319 pstruct lcrecord_list
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
320 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
321 if $imp == &lrecord_lstream
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
322 pstruct lstream
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
323 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
324 if $imp == &lrecord_marker
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
325 pstruct Lisp_Marker
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
326 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
327 if $imp == &lrecord_opaque
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
328 pstruct Lisp_Opaque
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
329 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
330 if $imp == &lrecord_opaque_ptr
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
331 pstruct Lisp_Opaque_Ptr
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
332 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
333 if $imp == &lrecord_popup_data
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
334 pstruct popup_data
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
335 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
336 if $imp == &lrecord_process
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
337 pstruct Lisp_Process
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
338 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
339 if $imp == &lrecord_range_table
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
340 pstruct Lisp_Range_Table
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
341 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
342 if $imp == &lrecord_specifier
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
343 pstruct Lisp_Specifier
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
344 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
345 if $imp == &lrecord_subr
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
346 pstruct Lisp_Subr
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
347 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
348 if $imp == &lrecord_symbol_value_buffer_local
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
349 pstruct symbol_value_buffer_local
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
350 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
351 if $imp == &lrecord_symbol_value_forward
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
352 pstruct symbol_value_forward
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
353 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
354 if $imp == &lrecord_symbol_value_lisp_magic
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
355 pstruct symbol_value_lisp_magic
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
356 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
357 if $imp == &lrecord_symbol_value_varalias
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
358 pstruct symbol_value_varalias
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
359 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
360 if $imp == &lrecord_toolbar_button
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
361 pstruct toolbar_button
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
362 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
363 if $imp == &lrecord_tooltalk_message
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
364 pstruct Lisp_Tooltalk_Message
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
365 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
366 if $imp == &lrecord_tooltalk_pattern
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
367 pstruct Lisp_Tooltalk_Pattern
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
368 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
369 if $imp == &lrecord_weak_list
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
370 pstruct weak_list
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
371 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
372 if $imp == &lrecord_window
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
373 pstruct window
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
374 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
375 if $imp == &lrecord_window_configuration
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
376 pstruct window_config
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
377 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
378 echo Unknown Lisp Object type\n
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
379 print $arg0
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
380 # Barf, gag, retch
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
381 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
382 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
383 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
384 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
385 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
386 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
387 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
388 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
389 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
390 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
391 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
392 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
393 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
394 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
395 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
396 # Repeat after me... gdb sux, gdb sux, gdb sux...
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
397 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
398 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
399 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
400 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
401 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
402 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
403 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
404 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
405 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
406 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
407 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
408 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
409 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
410 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
411 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
412 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
413 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
414 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
415 # Are we having fun yet??
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
416 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
417 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
418 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
419 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
420 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
421 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
422 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
423 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
424 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
425 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
426 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
427 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
428 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
429 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
430 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
431 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
432 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
433 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
434
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
435 document pobj
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
436 Usage: pobj lisp_object
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
437 Print the internal C structure of a underlying Lisp Object.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
438 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
439
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
440 # -------------------------------------------------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
441 # functions to test the debugging support itself.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
442 # If you change this file, make sure the following still work...
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
443 # -------------------------------------------------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
444 define test_xtype
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
445 printf "Vemacs_major_version: "
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
446 xtype Vemacs_major_version
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
447 printf "Vhelp_char: "
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
448 xtype Vhelp_char
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
449 printf "Qnil: "
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
450 xtype Qnil
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
451 printf "Qunbound: "
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
452 xtype Qunbound
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
453 printf "Vobarray: "
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
454 xtype Vobarray
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
455 printf "Vall_weak_lists: "
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
456 xtype Vall_weak_lists
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
457 printf "Vxemacs_codename: "
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
458 xtype Vxemacs_codename
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
459 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
460
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
461 define test_pobj
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
462 printf "Vemacs_major_version: "
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
463 pobj Vemacs_major_version
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
464 printf "Vhelp_char: "
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
465 pobj Vhelp_char
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
466 printf "Qnil: "
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
467 pobj Qnil
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
468 printf "Qunbound: "
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
469 pobj Qunbound
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
470 printf "Vobarray: "
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
471 pobj Vobarray
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
472 printf "Vall_weak_lists: "
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
473 pobj Vall_weak_lists
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
474 printf "Vxemacs_codename: "
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
475 pobj Vxemacs_codename
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
476 end
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
477