annotate src/.dbxrc @ 2951:b694dfd2f40e

[xemacs-hg @ 2005-09-26 08:13:00 by ben] Compile Windows with gmp, ldap, postgresql, db, etc. README: Major rewrite. Document how to compile various optional libs. config.inc.samp: Update to recent versions of optional libs. Add support for gmp, db, postgresql, ldap. Turn on optimization when not debug. minitar.c: Include config.h. xemacs.mak: Figure out VC++ version and use it to set debug and browser flags appropriately. Add support for building gmp, db, postgresql, ldap. Rewrite handling of optional stuff so it is all added to single variables OPT_* rather than to various FOO_* variables. Pass -I$(SRC) to minitar.c so it compiles. Pass module sources, not objects, to make-docfile. Delete more stuff in `make clean'.
author ben
date Mon, 26 Sep 2005 08:13:00 +0000
parents d7a9135ec789
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
1 # -*- ksh -*-
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
2 # Copyright (C) 1998 Free Software Foundation, Inc.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
3
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
4 # This file is part of XEmacs.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
5
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
6 # XEmacs is free software; you can redistribute it and/or modify it
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
7 # under the terms of the GNU General Public License as published by the
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
8 # Free Software Foundation; either version 2, or (at your option) any
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
9 # later version.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
10
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
11 # XEmacs is distributed in the hope that it will be useful, but WITHOUT
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
13 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
14 # for more details.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
15
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
16 # You should have received a copy of the GNU General Public License
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
17 # along with XEmacs; see the file COPYING. If not, write to
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
18 # the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
19 # Boston, MA 02111-1307, USA.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
20
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
21 # Author: Martin Buchholz
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
22
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
23 # You can use this file to debug XEmacs using Sun WorkShop's dbx.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
24
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
25 # Some functions defined here require a running process, but most
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
26 # don't. Considerable effort has been expended to this end.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
27
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
28 # Since this file is called `.dbxrc', it will be read by dbx
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
29 # automatically when dbx is run in the build directory, which is where
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
30 # developers usually debug their xemacs.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
31
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
32 # See also the comments in .gdbinit.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
33
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
34 # See also the question of the XEmacs FAQ, titled
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
35 # "How to Debug an XEmacs problem with a debugger".
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
36
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
37 # gdb sources the ./.gdbinit in _addition_ to ~/.gdbinit.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
38 # But dbx does _not_ source ~/.dbxrc if it found ./.dbxrc.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
39 # So we simulate the gdb algorithm by doing it ourselves here.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
40 if test -r $HOME/.dbxrc; then . $HOME/.dbxrc; fi
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
41
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
42 dbxenv language_mode ansic
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
43
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
44 ignore POLL
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
45 ignore IO
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
46
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
47 document lbt << 'end'
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
48 Usage: lbt
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
49 Print the current Lisp stack trace.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
50 Requires a running xemacs process.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
51 end
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
52
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
53 function lbt {
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
54 call debug_backtrace()
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
55 }
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
56
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
57 document ldp << 'end'
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
58 Usage: ldp lisp_object
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
59 Print a Lisp Object value using the Lisp printer.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
60 Requires a running xemacs process.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
61 end
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
62
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
63 function ldp {
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
64 call debug_print ($1);
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
65 }
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
66
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
67 Lisp_Type_Int=-2
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
68
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
69 # A bug in dbx prevents string variables from having values beginning with `-'!!
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
70 function XEmacsInit {
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
71 function ToInt { eval "$1=\$[(int) \`alloc.c\`$1]"; }
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
72 ToInt dbg_USE_UNION_TYPE
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
73 ToInt Lisp_Type_Char
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
74 ToInt Lisp_Type_Record
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
75 ToInt dbg_valbits
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
76 ToInt dbg_gctypebits
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
77 function ToLong { eval "$1=\$[(\`alloc.c\`unsigned long) \`alloc.c\`$1]"; }
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
78 ToLong dbg_valmask
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
79 ToLong dbg_typemask
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
80 xemacs_initted=yes
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
81 }
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
82
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
83 function printvar {
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
84 for i in $*; do eval "echo $i=\$$i"; done
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
85 }
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
86
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
87 document decode_object << 'end'
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
88 Usage: decode_object lisp_object
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
89 Extract implementation information from a Lisp Object.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
90 Defines variables $val, $type and $imp.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
91 end
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
92
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
93 # Various dbx bugs cause ugliness in following code
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
94 function decode_object {
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
95 if test -z "$xemacs_initted"; then XEmacsInit; fi;
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
96 if test $dbg_USE_UNION_TYPE = 1; then
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
97 # Repeat after me... dbx sux, dbx sux, dbx sux...
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
98 # Allow both `pobj Qnil' and `pobj 0x82746834' to work
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
99 case $(whatis $1) in
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
100 *Lisp_Object*) obj="$[(`alloc.c`unsigned long)(($1).i)]";;
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
101 *) obj="$[(`alloc.c`unsigned long)($1)]";;
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
102 esac
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
103 else
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
104 obj="$[(`alloc.c`unsigned long)($1)]";
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
105 fi
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
106 if test $[(int)($obj & 1)] = 1; then
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
107 # It's an int
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
108 val=$[(long)(((unsigned long long)$obj) >> 1)]
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
109 type=$Lisp_Type_Int
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
110 else
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
111 type=$[(int)(((void*)$obj) & $dbg_typemask)]
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
112 if test $type = $Lisp_Type_Char; then
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
113 val=$[(void*)(long)(((unsigned long long)($obj & $dbg_valmask)) >> $dbg_gctypebits)]
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
114 else
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
115 # It's a record pointer
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
116 val=$[(void*)$obj]
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
117 if test "$val" = "(nil)"; then type=null_pointer; fi
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
118 fi
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
119 fi
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
120
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
121 if test $type = $Lisp_Type_Record; then
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
122 lheader="((struct lrecord_header *) $val)"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
123 lrecord_type=$[(enum lrecord_type) $lheader->type]
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
124 imp=$[(void*)(`alloc.c`lrecord_implementations_table[$lheader->type])]
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
125 else
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
126 lheader="((struct lrecord_header *) -1)"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
127 lrecord_type=-1
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
128 imp="0xdeadbeef"
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
129 fi
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
130 # printvar obj val type imp
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
131 }
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
132
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
133 function xint {
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
134 decode_object "$*"
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
135 print (long) ($val)
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
136 }
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
137
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
138 document xtype << 'end'
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
139 Usage: xtype lisp_object
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
140 Print the Lisp type of a lisp object.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
141 end
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
142
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
143 function xtype {
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
144 decode_object "$*"
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
145 if test $type = $Lisp_Type_Int; then echo "int"
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
146 elif test $type = $Lisp_Type_Char; then echo "char"
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
147 elif test $type = null_pointer; then echo "null_pointer"
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
148 else
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
149 echo "record type with name: $[((struct lrecord_implementation *)$imp)->name]"
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
150 fi
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
151 }
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
152
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
153 function lisp-shadows {
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
154 run -batch -vanilla -f list-load-path-shadows
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
155 }
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
156
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
157 function environment-to-run-temacs {
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
158 unset EMACSLOADPATH
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
159 export EMACSBOOTSTRAPLOADPATH=../lisp/:..
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
160 export EMACSBOOTSTRAPMODULEPATH=../modules/:..
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
161 }
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
162
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
163 document run-temacs << 'end'
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
164 Usage: run-temacs
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
165 Run temacs interactively, like xemacs.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
166 Use this with debugging tools (like purify) that cannot deal with dumping,
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
167 or when temacs builds successfully, but xemacs does not.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
168 end
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
169
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
170 function run-temacs {
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
171 environment-to-run-temacs
452
3d3049ae1304 Import from CVS: tag r21-2-41
cvs
parents: 442
diff changeset
172 run -nd -batch -l ../lisp/loadup.el run-temacs -q ${1+"$@"}
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
173 }
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
174
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
175 document check-xemacs << 'end'
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
176 Usage: check-xemacs
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
177 Run the test suite. Equivalent to 'make check'.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
178 end
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
179
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
180 function check-xemacs {
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
181 run -batch -l ../tests/automated/test-harness.el -f batch-test-emacs ../tests/automated
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
182 }
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
183
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
184 document check-temacs << 'end'
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
185 Usage: check-temacs
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
186 Run the test suite on temacs. Equivalent to 'make check-temacs'.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
187 Use this with debugging tools (like purify) that cannot deal with dumping,
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
188 or when temacs builds successfully, but xemacs does not.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
189 end
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
190
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
191 function check-temacs {
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
192 run-temacs -q -batch -l ../tests/automated/test-harness.el -f batch-test-emacs ../tests/automated
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
193 }
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
194
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
195 document update-elc << 'end'
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
196 Usage: update-elc
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
197 Run the core lisp byte compilation part of the build procedure.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
198 Use when debugging temacs, not xemacs!
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
199 Use this when temacs builds successfully, but xemacs does not.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
200 end
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
201
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
202 function update-elc {
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
203 environment-to-run-temacs
452
3d3049ae1304 Import from CVS: tag r21-2-41
cvs
parents: 442
diff changeset
204 run -nd -batch -l ../lisp/update-elc.el
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
205 }
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
206
454
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
207 document dmp << 'end'
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
208 Usage: dmp
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
209 Run the dumping part of the build procedure.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
210 Use when debugging temacs, not xemacs!
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
211 Use this when temacs builds successfully, but xemacs does not.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
212 end
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
213
454
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
214 function dmp {
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
215 environment-to-run-temacs
452
3d3049ae1304 Import from CVS: tag r21-2-41
cvs
parents: 442
diff changeset
216 run -nd -batch -l ../lisp/loadup.el dump
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
217 }
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
218
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
219 function pstruct { # pstruct foo.c struct-name
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
220 module "$1" > /dev/null
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
221 type_ptr="((struct $2 *) $val)"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
222 print $type_ptr
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
223 print *$type_ptr
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
224 }
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
225
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
226 document pobj << 'end'
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
227 Usage: pobj lisp_object
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
228 Print the internal C representation of a Lisp Object.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
229 end
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
230
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
231 function pobj {
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
232 decode_object $1
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
233 if test $type = $Lisp_Type_Int; then
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
234 print -f"Integer: %d" $val
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
235 elif test $type = $Lisp_Type_Char; then
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
236 if test $[$val > 32 && $val < 128] = 1; then
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
237 print -f"Char: %c" $val
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
238 else
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
239 print -f"Char: %d" $val
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
240 fi
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
241 elif test $lrecord_type = lrecord_type_string; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
242 pstruct alloc.c Lisp_String
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
243 elif test $lrecord_type = lrecord_type_cons; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
244 pstruct alloc.c Lisp_Cons
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
245 elif test $lrecord_type = lrecord_type_symbol; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
246 pstruct symbols.c Lisp_Symbol
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
247 echo "Symbol name: $[(char *)($type_ptr->name->data)]"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
248 elif test $lrecord_type = lrecord_type_vector; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
249 pstruct alloc.c Lisp_Vector
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
250 echo "Vector of length $[$type_ptr->size]"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
251 elif test $lrecord_type = lrecord_type_bit_vector; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
252 pstruct fns.c Lisp_Bit_Vector
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
253 elif test $lrecord_type = lrecord_type_buffer; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
254 pstruct buffer.c buffer
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
255 elif test $lrecord_type = lrecord_type_char_table; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
256 pstruct chartab.c Lisp_Char_Table
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
257 elif test $lrecord_type = lrecord_type_char_table_entry; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
258 pstruct chartab.c Lisp_Char_Table_Entry
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
259 elif test $lrecord_type = lrecord_type_charset; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
260 pstruct mule-charset.c Lisp_Charset
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
261 elif test $lrecord_type = lrecord_type_coding_system; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
262 pstruct file-coding.c Lisp_Coding_System
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
263 elif test $lrecord_type = lrecord_type_color_instance; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
264 pstruct objects.c Lisp_Color_Instance
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
265 elif test $lrecord_type = lrecord_type_command_builder; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
266 pstruct event-stream.c command_builder
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
267 elif test $lrecord_type = lrecord_type_compiled_function; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
268 pstruct bytecode.c Lisp_Compiled_Function
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
269 elif test $lrecord_type = lrecord_type_console; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
270 pstruct console.c console
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
271 elif test $lrecord_type = lrecord_type_database; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
272 pstruct database.c Lisp_Database
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
273 elif test $lrecord_type = lrecord_type_device; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
274 pstruct device.c device
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
275 elif test $lrecord_type = lrecord_type_event; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
276 pstruct events.c Lisp_Event
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
277 elif test $lrecord_type = lrecord_type_extent; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
278 pstruct extents.c extent
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
279 elif test $lrecord_type = lrecord_type_extent_auxiliary; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
280 pstruct extents.c extent_auxiliary
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
281 elif test $lrecord_type = lrecord_type_extent_info; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
282 pstruct extents.c extent_info
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
283 elif test $lrecord_type = lrecord_type_face; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
284 pstruct faces.c Lisp_Face
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
285 elif test $lrecord_type = lrecord_type_float; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
286 pstruct floatfns.c Lisp_Float
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
287 elif test $lrecord_type = lrecord_type_font_instance; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
288 pstruct objects.c Lisp_Font_Instance
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
289 elif test $lrecord_type = lrecord_type_frame; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
290 pstruct frame.c frame
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
291 elif test $lrecord_type = lrecord_type_glyph; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
292 pstruct glyph.c Lisp_Glyph
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
293 elif test $lrecord_type = lrecord_type_gui_item; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
294 pstruct gui.c Lisp_Gui_Item
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
295 elif test $lrecord_type = lrecord_type_hash_table; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
296 pstruct elhash.c Lisp_Hash_Table
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
297 elif test $lrecord_type = lrecord_type_image_instance; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
298 pstruct glyphs.c Lisp_Image_Instance
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
299 elif test $lrecord_type = lrecord_type_keymap; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
300 pstruct keymap.c Lisp_Keymap
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
301 elif test $lrecord_type = lrecord_type_lcrecord_list; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
302 pstruct alloc.c lcrecord_list
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
303 elif test $lrecord_type = lrecord_type_ldap; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
304 pstruct ldap.c Lisp_LDAP
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
305 elif test $lrecord_type = lrecord_type_lstream; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
306 pstruct lstream.c lstream
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
307 elif test $lrecord_type = lrecord_type_marker; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
308 pstruct marker.c Lisp_Marker
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
309 elif test $lrecord_type = lrecord_type_opaque; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
310 pstruct opaque.c Lisp_Opaque
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
311 elif test $lrecord_type = lrecord_type_opaque_ptr; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
312 pstruct opaque.c Lisp_Opaque_Ptr
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
313 elif test $lrecord_type = lrecord_type_popup_data; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
314 pstruct gui-x.c popup_data
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
315 elif test $lrecord_type = lrecord_type_process; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
316 pstruct process.c Lisp_Process
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
317 elif test $lrecord_type = lrecord_type_range_table; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
318 pstruct rangetab.c Lisp_Range_Table
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
319 elif test $lrecord_type = lrecord_type_specifier; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
320 pstruct specifier.c Lisp_Specifier
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
321 elif test $lrecord_type = lrecord_type_subr; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
322 pstruct eval.c Lisp_Subr
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
323 elif test $lrecord_type = lrecord_type_symbol_value_buffer_local; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
324 pstruct symbols.c symbol_value_buffer_local
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
325 elif test $lrecord_type = lrecord_type_symbol_value_forward; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
326 pstruct symbols.c symbol_value_forward
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
327 elif test $lrecord_type = lrecord_type_symbol_value_lisp_magic; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
328 pstruct symbols.c symbol_value_lisp_magic
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
329 elif test $lrecord_type = lrecord_type_symbol_value_varalias; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
330 pstruct symbols.c symbol_value_varalias
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
331 elif test $lrecord_type = lrecord_type_timeout; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
332 pstruct event-stream.c Lisp_Timeout
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
333 elif test $lrecord_type = lrecord_type_toolbar_button; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
334 pstruct toolbar.c toolbar_button
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
335 elif test $lrecord_type = lrecord_type_tooltalk_message; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
336 pstruct tooltalk.c Lisp_Tooltalk_Message
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
337 elif test $lrecord_type = lrecord_type_tooltalk_pattern; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
338 pstruct tooltalk.c Lisp_Tooltalk_Pattern
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
339 elif test $lrecord_type = lrecord_type_weak_list; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
340 pstruct data.c weak_list
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
341 elif test $lrecord_type = lrecord_type_window; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
342 pstruct window.c window
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
343 elif test $lrecord_type = lrecord_type_window_configuration; then
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
344 pstruct window.c window_config
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
345 elif test "$type" = "null_pointer"; then
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
346 echo "Lisp Object is a null pointer!!"
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
347 else
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
348 echo "Unknown Lisp Object type"
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
349 print $1
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
350 fi
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
351 }
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
352
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
353 dbxenv suppress_startup_message 4.0
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
354 # dbxenv mt_watchpoints on
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
355
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
356 function dp_core {
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
357 print ((struct x_frame *)(((struct frame*)(Fselected_frame(Qnil)&0x00FFFFFF))->frame_data))->widget->core
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
358 }
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
359
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
360 # Barf!
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
361 function print_shell {
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
362 print *(`frame-x.c`TopLevelShellRec*) (((struct `frame-x.c`x_frame*) (((struct `frame-x.c`frame*) (Fselected_frame(Qnil)&0x00FFFFFF))->frame_data))->widget)
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
363 }
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
364
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
365 # -------------------------------------------------------------
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
366 # functions to test the debugging support itself.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
367 # If you change this file, make sure the following still work...
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
368 # -------------------------------------------------------------
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
369 function test_xtype {
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
370 function doit { echo -n "$1: "; xtype "$1"; }
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
371 test_various_objects
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
372 }
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
373
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
374 function test_pobj {
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
375 function doit { echo '==============================='; echo -n "$1: "; pobj "$1"; }
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
376 test_various_objects
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
377 }
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
378
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
379 function test_various_objects {
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
380 doit Vemacs_major_version
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
381 doit Vhelp_char
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
382 doit Qnil
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
383 doit Qunbound
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
384 doit Vobarray
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
385 doit Vall_weak_lists
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
386 doit Vxemacs_codename
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents:
diff changeset
387 }