From: Paul Eggert Date: Tue, 14 Jul 2015 13:59:26 +0000 (-0700) Subject: Clear gcprolist etc. after stack overflow X-Git-Tag: emacs-25.0.90~1492 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=2254b6c09cff8f3a83684fd159289d0e305b0e7d;p=emacs.git 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. --- diff --git a/src/alloc.c b/src/alloc.c index c9bdcc216c7..9ac3ad84131 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 46550955d44..4f7f42f1ebe 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