[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 2254b6c: Clear gcprolist etc. after stack overflow
From: |
Paul Eggert |
Subject: |
[Emacs-diffs] master 2254b6c: Clear gcprolist etc. after stack overflow |
Date: |
Tue, 14 Jul 2015 14:03:14 +0000 |
branch: master
commit 2254b6c09cff8f3a83684fd159289d0e305b0e7d
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>
Clear gcprolist etc. after stack overflow
After stack overflow, command_loop calls init_eval, and this needs to
clear gcprolist and byte_stack_list (Bug#20996).
* src/alloc.c (init_alloc):
Move gcprolist and byte_stack_list initialization from here ...
* src/eval.c (init_eval): ... to here.
---
src/alloc.c | 2 --
src/eval.c | 2 ++
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/alloc.c b/src/alloc.c
index c9bdcc2..9ac3ad8 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -7255,8 +7255,6 @@ init_alloc_once (void)
void
init_alloc (void)
{
- gcprolist = 0;
- byte_stack_list = 0;
#if GC_MARK_STACK
#if !defined GC_SAVE_REGISTERS_ON_STACK && !defined GC_SETJMP_WORKS
setjmp_tested_p = longjmps_done = 0;
diff --git a/src/eval.c b/src/eval.c
index 4655095..4f7f42f 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -220,6 +220,8 @@ static struct handler handlerlist_sentinel;
void
init_eval (void)
{
+ gcprolist = 0;
+ byte_stack_list = 0;
specpdl_ptr = specpdl;
{ /* Put a dummy catcher at top-level so that handlerlist is never NULL.
This is important since handlerlist->nextfree holds the freelist
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 2254b6c: Clear gcprolist etc. after stack overflow,
Paul Eggert <=