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. |
