Mercurial > hg > xemacs-beta
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. |