annotate src/gdbinit @ 365:30d2cfa1092a r21-1-12

Import from CVS: tag r21-1-12
author cvs
date Mon, 13 Aug 2007 11:00:12 +0200
parents fbbf69b4e8a7
children cc15677e0335
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
337
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
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
337
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
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
337
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
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
365
30d2cfa1092a Import from CVS: tag r21-1-12
cvs
parents: 337
diff changeset
78 if $imp->finalizer == this_marks_a_marked_record
30d2cfa1092a Import from CVS: tag r21-1-12
cvs
parents: 337
diff changeset
79 set $imp = $imp -1
30d2cfa1092a Import from CVS: tag r21-1-12
cvs
parents: 337
diff changeset
80 printf "marked lrecord:\n"
30d2cfa1092a Import from CVS: tag r21-1-12
cvs
parents: 337
diff changeset
81 end
272
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 else
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
84 set $imp = -1
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
85 end
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
86 end
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
87
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
88 document decode_object
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
89 Usage: decode_object lisp_object
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
90 Extract implementation information from a Lisp Object.
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
91 Defines variables $val, $type and $imp.
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
92 end
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
93
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
94 define xint
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
95 decode_object $arg0
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
96 print ((long) $val)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
97 end
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
98
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
99 define xtype
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
100 decode_object $arg0
337
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
101 if $type == Lisp_Type_Int
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
102 echo int\n
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
103 else
337
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
104 if $type == Lisp_Type_Char
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
105 echo char\n
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
106 else
337
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
107 if $type == Lisp_Type_Symbol
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
108 echo symbol\n
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
109 else
337
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
110 if $type == Lisp_Type_String
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
111 echo string\n
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
112 else
337
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
113 if $type == Lisp_Type_Vector
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
114 echo vector\n
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
115 else
337
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
116 if $type == Lisp_Type_Cons
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
117 echo cons\n
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
118 else
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
119 printf "record type: %s\n", $imp->name
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
120 # barf
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 end
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
125 end
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
126 end
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
127 end
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
128
337
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
129 define lisp-shadows
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
130 run -batch -vanilla -f list-load-path-shadows
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
131 end
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
132
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
133 document lisp-shadows
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
134 Usage: lisp-shadows
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
135 Run xemacs to check for lisp shadows
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
136 end
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
137
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
138 define environment-to-run-temacs
284
558f606b08ae Import from CVS: tag r21-0b40
cvs
parents: 272
diff changeset
139 unset env EMACSLOADPATH
337
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
140 set env EMACSBOOTSTRAPLOADPATH=../lisp/:..
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
141 set env EMACSBOOTSTRAPMODULEPATH=../modules/:..
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
142 end
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
143
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
144 define run-temacs
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
145 environment-to-run-temacs
284
558f606b08ae Import from CVS: tag r21-0b40
cvs
parents: 272
diff changeset
146 run -batch -l ../lisp/loadup.el run-temacs -q
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
147 end
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
148
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
149 document run-temacs
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
150 Usage: run-temacs
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
151 Run temacs interactively, like xemacs.
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
152 Use this with debugging tools (like purify) that cannot deal with dumping,
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
153 or when temacs builds successfully, but xemacs does not.
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
154 end
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
155
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
156 define update-elc
337
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
157 environment-to-run-temacs
284
558f606b08ae Import from CVS: tag r21-0b40
cvs
parents: 272
diff changeset
158 run -batch -l ../lisp/update-elc.el
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
159 end
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
160
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
161 document update-elc
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
162 Usage: update-elc
284
558f606b08ae Import from CVS: tag r21-0b40
cvs
parents: 272
diff changeset
163 Run the core lisp byte compilation part of the build procedure.
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
164 Use when debugging temacs, not xemacs!
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
165 Use this when temacs builds successfully, but xemacs does not.
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
166 end
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
167
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
168 define dump-temacs
337
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
169 environment-to-run-temacs
284
558f606b08ae Import from CVS: tag r21-0b40
cvs
parents: 272
diff changeset
170 run -batch -l ../lisp/loadup.el dump
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
171 end
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
172
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
173 document dump-temacs
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
174 Usage: dump-temacs
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
175 Run the dumping part of the build procedure.
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
176 Use when debugging temacs, not xemacs!
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
177 Use this when temacs builds successfully, but xemacs does not.
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
178 end
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
179
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
180 # if you use Purify, do this:
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
181 # export PURIFYOPTIONS='-pointer-mask=0x0fffffff'
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
182
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
183 define ldp
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
184 printf "%s", "Lisp => "
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
185 call debug_print($arg0)
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
186 end
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
187
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
188 document ldp
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
189 Usage: ldp lisp_object
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
190 Print a Lisp Object value using the Lisp printer.
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
191 Requires a running xemacs process.
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
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
194 define lbt
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
195 call debug_backtrace()
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
196 end
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
197
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
198 document lbt
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
199 Usage: lbt
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
200 Print the current Lisp stack trace.
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
201 Requires a running xemacs process.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
202 end
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
203
337
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
204
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
205 define leval
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
206 ldp Feval(Fcar(Fread_from_string(build_string($arg0),Qnil,Qnil)))
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
207 end
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
208
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
209 document leval
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
210 Usage: leval "SEXP"
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
211 Eval a lisp expression.
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
212 Requires a running xemacs process.
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
213
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
214 Example:
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
215 (gdb) leval "(+ 1 2)"
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
216 Lisp ==> 3
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
217 end
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
218
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
219
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
220 define wtype
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
221 print $arg0->core.widget_class->core_class.class_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 define xtname
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
225 print XrmQuarkToString(((Object)($arg0))->object.xrm_name)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
226 end
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
227
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
228 # GDB's command language makes you want to ...
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
229
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
230 define pstruct
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
231 set $xstruct = (struct $arg0 *) $val
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
232 print $xstruct
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
233 print *$xstruct
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
234 end
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
235
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
236 define pobj
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
237 decode_object $arg0
337
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
238 if $type == Lisp_Type_Int
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
239 printf "Integer: %d\n", $val
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
240 else
337
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
241 if $type == Lisp_Type_Char
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
242 if $val > 32 && $val < 128
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
243 printf "Char: %c\n", $val
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
244 else
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
245 printf "Char: %d\n", $val
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
246 end
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
247 else
337
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
248 if $type == Lisp_Type_String || $imp == lrecord_string
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
249 pstruct Lisp_String
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
250 else
337
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
251 if $type == Lisp_Type_Cons || $imp == lrecord_cons
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
252 pstruct Lisp_Cons
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
253 else
337
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
254 if $type == Lisp_Type_Symbol || $imp == lrecord_symbol
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
255 pstruct Lisp_Symbol
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
256 printf "Symbol name: %s\n", $xstruct->name->_data
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
257 else
337
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
258 if $type == Lisp_Type_Vector || $imp == lrecord_vector
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
259 pstruct Lisp_Vector
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
260 printf "Vector of length %d\n", $xstruct->size
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
261 #print *($xstruct->_data) @ $xstruct->size
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
262 else
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
263 if $imp == lrecord_bit_vector
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
264 pstruct Lisp_Bit_Vector
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
265 else
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
266 if $imp == lrecord_buffer
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
267 pstruct buffer
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
268 else
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
269 if $imp == lrecord_char_table
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
270 pstruct Lisp_Char_Table
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
271 else
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
272 if $imp == lrecord_char_table_entry
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
273 pstruct Lisp_Char_Table_Entry
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
274 else
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
275 if $imp == lrecord_charset
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
276 pstruct Lisp_Charset
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
277 else
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
278 if $imp == lrecord_coding_system
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
279 pstruct Lisp_Coding_System
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
280 else
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
281 if $imp == lrecord_color_instance
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
282 pstruct Lisp_Color_Instance
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
283 else
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
284 if $imp == lrecord_command_builder
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
285 pstruct command_builder
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
286 else
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
287 if $imp == lrecord_compiled_function
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
288 pstruct Lisp_Compiled_Function
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
289 else
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
290 if $imp == lrecord_console
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
291 pstruct console
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
292 else
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
293 if $imp == lrecord_database
337
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
294 pstruct Lisp_Database
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
295 else
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
296 if $imp == lrecord_device
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
297 pstruct device
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
298 else
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
299 if $imp == lrecord_event
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
300 pstruct Lisp_Event
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
301 else
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
302 if $imp == lrecord_extent
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
303 pstruct extent
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
304 else
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
305 if $imp == lrecord_extent_auxiliary
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
306 pstruct extent_auxiliary
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
307 else
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
308 if $imp == lrecord_extent_info
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
309 pstruct extent_info
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
310 else
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
311 if $imp == lrecord_face
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
312 pstruct Lisp_Face
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
313 else
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
314 if $imp == lrecord_float
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
315 pstruct Lisp_Float
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
316 else
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
317 if $imp == lrecord_font_instance
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
318 pstruct Lisp_Font_Instance
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
319 else
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
320 if $imp == lrecord_frame
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
321 pstruct frame
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
322 else
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
323 if $imp == lrecord_glyph
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
324 pstruct Lisp_Glyph
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
325 else
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
326 if $imp == lrecord_hashtable
365
30d2cfa1092a Import from CVS: tag r21-1-12
cvs
parents: 337
diff changeset
327 pstruct hashtable
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
328 else
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
329 if $imp == lrecord_image_instance
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
330 pstruct Lisp_Image_Instance
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
331 else
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
332 if $imp == lrecord_keymap
337
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
333 pstruct Lisp_Keymap
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
334 else
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
335 if $imp == lrecord_lcrecord_list
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
336 pstruct lcrecord_list
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
337 else
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
338 if $imp == lrecord_lstream
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
339 pstruct lstream
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
340 else
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
341 if $imp == lrecord_marker
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
342 pstruct Lisp_Marker
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
343 else
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
344 if $imp == lrecord_opaque
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
345 pstruct Lisp_Opaque
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
346 else
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
347 if $imp == lrecord_opaque_list
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
348 pstruct Lisp_Opaque_List
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
349 else
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
350 if $imp == lrecord_popup_data
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
351 pstruct popup_data
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
352 else
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
353 if $imp == lrecord_process
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
354 pstruct Lisp_Process
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
355 else
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
356 if $imp == lrecord_range_table
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
357 pstruct Lisp_Range_Table
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
358 else
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
359 if $imp == lrecord_specifier
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
360 pstruct Lisp_Specifier
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
361 else
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
362 if $imp == lrecord_subr
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
363 pstruct Lisp_Subr
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
364 else
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
365 if $imp == lrecord_symbol_value_buffer_local
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
366 pstruct symbol_value_buffer_local
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
367 else
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
368 if $imp == lrecord_symbol_value_forward
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
369 pstruct symbol_value_forward
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
370 else
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
371 if $imp == lrecord_symbol_value_lisp_magic
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
372 pstruct symbol_value_lisp_magic
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
373 else
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
374 if $imp == lrecord_symbol_value_varalias
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
375 pstruct symbol_value_varalias
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
376 else
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
377 if $imp == lrecord_toolbar_button
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
378 pstruct toolbar_button
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
379 else
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
380 if $imp == lrecord_tooltalk_message
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
381 pstruct Lisp_Tooltalk_Message
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
382 else
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
383 if $imp == lrecord_tooltalk_pattern
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
384 pstruct Lisp_Tooltalk_Pattern
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
385 else
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
386 if $imp == lrecord_weak_list
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
387 pstruct weak_list
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
388 else
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
389 if $imp == lrecord_window
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
390 pstruct window
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
391 else
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
392 if $imp == lrecord_window_configuration
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
393 pstruct window_config
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
394 else
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
395 echo Unknown Lisp Object type\n
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
396 print $arg0
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
397 # Barf, gag, retch
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
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
409 end
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
337
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
413 # Repeat after me... gdb sux, gdb sux, gdb sux...
272
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
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
427 end
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
428 end
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
429 end
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
430 end
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
431 end
337
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
432 # Are we having fun yet??
0
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 end
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
448 end
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
449 end
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
450 end
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
451
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
452 document pobj
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
453 Usage: pobj lisp_object
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 0
diff changeset
454 Print the internal C structure of a underlying Lisp Object.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
455 end
337
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
456
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
457 # -------------------------------------------------------------
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
458 # functions to test the debugging support itself.
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
459 # If you change this file, make sure the following still work...
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
460 # -------------------------------------------------------------
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
461 define test_xtype
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
462 printf "Vemacs_major_version: "
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
463 xtype Vemacs_major_version
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
464 printf "Vhelp_char: "
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
465 xtype Vhelp_char
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
466 printf "Qnil: "
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
467 xtype Qnil
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
468 printf "Qunbound: "
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
469 xtype Qunbound
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
470 printf "Vobarray: "
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
471 xtype Vobarray
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
472 printf "Vall_weak_lists: "
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
473 xtype Vall_weak_lists
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
474 printf "Vxemacs_codename: "
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
475 xtype Vxemacs_codename
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
476 end
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
477
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
478 define test_pobj
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
479 printf "Vemacs_major_version: "
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
480 pobj Vemacs_major_version
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
481 printf "Vhelp_char: "
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
482 pobj Vhelp_char
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
483 printf "Qnil: "
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
484 pobj Qnil
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
485 printf "Qunbound: "
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
486 pobj Qunbound
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
487 printf "Vobarray: "
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
488 pobj Vobarray
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
489 printf "Vall_weak_lists: "
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
490 pobj Vall_weak_lists
365
30d2cfa1092a Import from CVS: tag r21-1-12
cvs
parents: 337
diff changeset
491 printf "Vall_weak_hashtables: "
30d2cfa1092a Import from CVS: tag r21-1-12
cvs
parents: 337
diff changeset
492 pobj Vall_weak_hashtables
337
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
493 printf "Vxemacs_codename: "
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
494 pobj Vxemacs_codename
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
495 end
fbbf69b4e8a7 Import from CVS: tag r21-0-66
cvs
parents: 288
diff changeset
496