comparison src/ChangeLog @ 4880:ae81a2c00f4f

try harder to avoid crashing when debug-printing -------------------- ChangeLog entries follow: -------------------- src/ChangeLog addition: 2010-01-18 Ben Wing <ben@xemacs.org> * lisp.h: * print.c: New variable `in_debug_print'. * alloc.c: * alloc.c (free_managed_lcrecord): If gc_in_progress and in_debug_print, just return instead of crashing. This only happens when the programmer calls debug_print() or a variation inside of a debugger, and is probably already diagnosing a crash. * print.c (struct debug_bindings): * print.c (debug_prin1_exit): * print.c (debug_prin1): At entrance, record the old value of in_debug_print in the debug_bindings, set up an unwind-protect to restore the old value, and set in_debug_print to 1. In the unwind-protect, restore the old value.
author Ben Wing <ben@xemacs.org>
date Mon, 18 Jan 2010 06:05:21 -0600
parents c356806cc933
children a4322ac49e37 a47abe9c47f2
comparison
equal deleted inserted replaced
4879:c356806cc933 4880:ae81a2c00f4f
1 2010-01-18 Ben Wing <ben@xemacs.org>
2
3 * lisp.h:
4 * print.c:
5 New variable `in_debug_print'.
6
7 * alloc.c:
8 * alloc.c (free_managed_lcrecord):
9 If gc_in_progress and in_debug_print, just return instead of
10 crashing. This only happens when the programmer calls debug_print()
11 or a variation inside of a debugger, and is probably already
12 diagnosing a crash.
13
14 * print.c (struct debug_bindings):
15 * print.c (debug_prin1_exit):
16 * print.c (debug_prin1):
17 At entrance, record the old value of in_debug_print in the
18 debug_bindings, set up an unwind-protect to restore the old value,
19 and set in_debug_print to 1. In the unwind-protect, restore the
20 old value.
21
22
1 2010-01-16 Ben Wing <ben@xemacs.org> 23 2010-01-16 Ben Wing <ben@xemacs.org>
2 24
3 * win32.c (mswindows_read_link_1): 25 * win32.c (mswindows_read_link_1):
4 Conditionalize COM support on HAVE_MS_WINDOWS because otherwise we 26 Conditionalize COM support on HAVE_MS_WINDOWS because otherwise we
5 haven't linked with the appropriate libraries. 27 haven't linked with the appropriate libraries.