annotate src/gdbinit @ 396:6719134a07c2 r21-2-13

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