annotate src/debug.c @ 0:376386a54a3c r19-14

Import from CVS: tag r19-14
author cvs
date Mon, 13 Aug 2007 08:45:50 +0200
parents
children 859a2309aef8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1 /* Debugging aids -- togglable assertions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2 Copyright (C) 1994 Free Software Foundation, Inc.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4 This file is part of XEmacs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6 XEmacs is free software; you can redistribute it and/or modify it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7 under the terms of the GNU General Public License as published by the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8 Free Software Foundation; either version 2, or (at your option) any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9 later version.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11 XEmacs is distributed in the hope that it will be useful, but WITHOUT
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14 for more details.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16 You should have received a copy of the GNU General Public License
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
17 along with XEmacs; see the file COPYING. If not, write to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
19 Boston, MA 02111-1307, USA. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
20
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
21 /* Synched up with: Not in FSF. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
22
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
23 /* This file has been Mule-ized. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
24
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
25 /* Written by Chuck Thompson */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
26
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
27 #include <config.h>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
28 #include "lisp.h"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
29 #include "debug.h"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
30 #include "bytecode.h"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
31
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
32 /*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
33 * To add a new debug class:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
34 * 1. Add a symbol definition for it here, if one doesn't exist
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
35 * elsewhere. If you add it here, make sure to add a defsymbol
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
36 * line for it in syms_of_debug.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
37 * 2. Add an extern definition for the symbol to debug.h.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
38 * 3. Add entries for the class to struct debug_classes in debug.h.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
39 * 4. Add a FROB line for it in xemacs_debug_loop.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
40 */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
41
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
42 Lisp_Object Qredisplay, Qbuffers, Qfaces;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
43 Lisp_Object Qwindows, Qframes, Qdevices;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
44
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
45 /* Lisp_Object Qbyte_code; in bytecode.c */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
46
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
47 struct debug_classes active_debug_classes;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
48
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
49 enum debug_loop
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
50 {
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
51 ADD,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
52 DELETE,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
53 LIST,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
54 ACTIVE,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
55 INIT,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
56 VALIDATE,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
57 TYPE,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
58 SETTYPE
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
59 };
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
60
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
61 static Lisp_Object
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
62 xemacs_debug_loop (enum debug_loop op, Lisp_Object class, Lisp_Object type)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
63 {
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
64 int flag = ((op == ADD) ? 1 : 0);
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
65 Lisp_Object retval = Qnil;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
66
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
67 #define FROB(item)\
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
68 if (op == LIST || op == ACTIVE || op == INIT || EQ (class, Q##item)) \
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
69 { \
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
70 if (op == ADD || op == DELETE || op == INIT) \
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
71 active_debug_classes.item = flag; \
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
72 else if (op == LIST \
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
73 || (op == ACTIVE && active_debug_classes.item)) \
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
74 retval = Fcons (Q##item, retval); \
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
75 else if (op == VALIDATE) \
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
76 return Qt; \
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
77 else if (op == SETTYPE) \
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
78 active_debug_classes.types_of_##item = XINT (type); \
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
79 else if (op == TYPE) \
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
80 retval = make_int (active_debug_classes.types_of_##item), Qnil; \
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
81 if (op == INIT) active_debug_classes.types_of_##item = VALBITS; \
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
82 }
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
83
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
84 FROB (redisplay);
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
85 FROB (buffers);
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
86 FROB (extents);
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
87 FROB (faces);
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
88 FROB (windows);
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
89 FROB (frames);
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
90 FROB (devices);
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
91 FROB (byte_code);
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
92
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
93 return retval;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
94 #undef FROB
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
95 }
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
96
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
97 DEFUN ("add-debug-class-to-check", Fadd_debug_class_to_check,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
98 Sadd_debug_class_to_check, 1, 1, 0 /*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
99 Add a debug class to the list of active classes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
100 */ )
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
101 (class)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
102 Lisp_Object class;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
103 {
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
104 if (NILP (xemacs_debug_loop (VALIDATE, class, Qnil)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
105 error ("No such debug class exists");
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
106 else
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
107 xemacs_debug_loop (ADD, class, Qnil);
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
108
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
109 return (xemacs_debug_loop (ACTIVE, Qnil, Qnil));
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
110 }
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
111
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
112 DEFUN ("delete-debug-class-to-check", Fdelete_debug_class_to_check,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
113 Sdelete_debug_class_to_check, 1, 1, 0 /*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
114 Delete a debug class from the list of active classes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
115 */ )
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
116 (class)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
117 Lisp_Object class;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
118 {
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
119 if (NILP (xemacs_debug_loop (VALIDATE, class, Qnil)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
120 error ("No such debug class exists");
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
121 else
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
122 xemacs_debug_loop (DELETE, class, Qnil);
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
123
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
124 return (xemacs_debug_loop (ACTIVE, Qnil, Qnil));
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
125 }
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
126
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
127 DEFUN ("debug-classes-being-checked", Fdebug_classes_being_checked,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
128 Sdebug_classes_being_checked, 0, 0, 0 /*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
129 Return a list of active debug classes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
130 */ )
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
131 ()
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
132 {
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
133 return (xemacs_debug_loop (ACTIVE, Qnil, Qnil));
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
134 }
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
135
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
136 DEFUN ("debug-classes-list", Fdebug_classes_list, Sdebug_classes_list, 0, 0, 0 /*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
137 Return a list of all defined debug classes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
138 */ )
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
139 ()
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
140 {
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
141 return (xemacs_debug_loop (LIST, Qnil, Qnil));
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
142 }
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
143
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
144 DEFUN ("set-debug-classes-to-check", Fset_debug_classes_to_check,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
145 Sset_debug_classes_to_check, 1, 1, 0 /*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
146 Set which classes of debug statements should be active.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
147 CLASSES should be a list of debug classes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
148 */ )
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
149 (classes)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
150 Lisp_Object classes;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
151 {
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
152 Lisp_Object rest;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
153
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
154 CHECK_LIST (classes);
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
155
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
156 /* Make sure all objects in the list are valid. If anyone is not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
157 valid, reject the entire list without doing anything. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
158 LIST_LOOP (rest, classes )
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
159 {
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
160 if (NILP (xemacs_debug_loop (VALIDATE, XCAR (rest), Qnil)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
161 error ("Invalid object in class list");
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
162 }
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
163
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
164 LIST_LOOP (rest, classes)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
165 Fadd_debug_class_to_check (XCAR (rest));
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
166
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
167 return (xemacs_debug_loop (ACTIVE, Qnil, Qnil));
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
168 }
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
169
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
170 DEFUN ("set-debug-class-types-to-check", Fset_debug_class_types_to_check,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
171 Sset_debug_class_types_to_check, 2, 2, 0 /*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
172 For the given debug CLASS, set which TYPES are actually interesting.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
173 TYPES should be an integer representing the or'd value of all desired types.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
174 Lists of defined types and their values are located in the source code.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
175 */ )
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
176 (class, type)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
177 Lisp_Object class, type;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
178 {
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
179 CHECK_INT (type);
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
180 if (NILP (xemacs_debug_loop (VALIDATE, class, Qnil)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
181 error ("Invalid debug class");
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
182
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
183 xemacs_debug_loop (SETTYPE, class, type);
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
184
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
185 return (xemacs_debug_loop (TYPE, class, Qnil));
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
186 }
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
187
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
188 DEFUN ("debug-types-being-checked", Fdebug_types_being_checked,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
189 Sdebug_types_being_checked, 1, 1, 0 /*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
190 For the given CLASS, return the associated type value.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
191 */ )
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
192 (class)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
193 Lisp_Object class;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
194 {
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
195 if (NILP (xemacs_debug_loop (VALIDATE, class, Qnil)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
196 error ("Invalid debug class");
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
197
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
198 return (xemacs_debug_loop (TYPE, class, Qnil));
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
199 }
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
200
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
201 void
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
202 syms_of_debug (void)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
203 {
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
204 defsymbol (&Qredisplay, "redisplay");
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
205 defsymbol (&Qbuffers, "buffers");
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
206 defsymbol (&Qfaces, "faces");
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
207 defsymbol (&Qwindows, "windows");
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
208 defsymbol (&Qframes, "frames");
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
209 defsymbol (&Qdevices, "devices");
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
210 /* defsymbol (&Qbyte_code, "byte-code"); in bytecode.c */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
211
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
212 defsubr (&Sadd_debug_class_to_check);
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
213 defsubr (&Sdelete_debug_class_to_check);
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
214 defsubr (&Sdebug_classes_being_checked);
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
215 defsubr (&Sdebug_classes_list);
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
216 defsubr (&Sset_debug_classes_to_check);
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
217 defsubr (&Sset_debug_class_types_to_check);
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
218 defsubr (&Sdebug_types_being_checked);
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
219 }
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
220
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
221 void
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
222 vars_of_debug (void)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
223 {
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
224 Fprovide (intern ("debug"));
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
225
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
226 /* If you need to have any classes active early on in startup, then
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
227 the flags should be set here.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
228 All functions called by this function are "allowed" according
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
229 to emacs.c. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
230 xemacs_debug_loop (INIT, Qnil, Qnil);
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
231 }
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
232