annotate src/.gdbinit @ 438:84b14dcb0985 r21-2-27

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