diff options
| author | Paul Eggert | 2015-07-14 06:59:26 -0700 |
|---|---|---|
| committer | Paul Eggert | 2015-07-14 07:03:06 -0700 |
| commit | 2254b6c09cff8f3a83684fd159289d0e305b0e7d (patch) | |
| tree | e39495bc5764a69ea284ec98aa41482567050946 /src | |
| parent | 6a7e718916d00dbacaa765669f389b86f33075f5 (diff) | |
| download | emacs-2254b6c09cff8f3a83684fd159289d0e305b0e7d.tar.gz emacs-2254b6c09cff8f3a83684fd159289d0e305b0e7d.zip | |
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.
Diffstat (limited to 'src')
| -rw-r--r-- | src/alloc.c | 2 | ||||
| -rw-r--r-- | src/eval.c | 2 |
2 files changed, 2 insertions, 2 deletions
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) | |||
| 7255 | void | 7255 | void |
| 7256 | init_alloc (void) | 7256 | init_alloc (void) |
| 7257 | { | 7257 | { |
| 7258 | gcprolist = 0; | ||
| 7259 | byte_stack_list = 0; | ||
| 7260 | #if GC_MARK_STACK | 7258 | #if GC_MARK_STACK |
| 7261 | #if !defined GC_SAVE_REGISTERS_ON_STACK && !defined GC_SETJMP_WORKS | 7259 | #if !defined GC_SAVE_REGISTERS_ON_STACK && !defined GC_SETJMP_WORKS |
| 7262 | setjmp_tested_p = longjmps_done = 0; | 7260 | 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; | |||
| 220 | void | 220 | void |
| 221 | init_eval (void) | 221 | init_eval (void) |
| 222 | { | 222 | { |
| 223 | gcprolist = 0; | ||
| 224 | byte_stack_list = 0; | ||
| 223 | specpdl_ptr = specpdl; | 225 | specpdl_ptr = specpdl; |
| 224 | { /* Put a dummy catcher at top-level so that handlerlist is never NULL. | 226 | { /* Put a dummy catcher at top-level so that handlerlist is never NULL. |
| 225 | This is important since handlerlist->nextfree holds the freelist | 227 | This is important since handlerlist->nextfree holds the freelist |