Improve stack-overflow heuristic on GNU/Linux
commit9dee1c884eb50ba282eb9dd2495c5269add25963
authorPaul Eggert <eggert@cs.ucla.edu>
Fri, 14 Jul 2017 11:54:05 +0000 (14 04:54 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Fri, 14 Jul 2017 11:57:18 +0000 (14 04:57 -0700)
tree947b4c3c21e4bef82795cfbd60f29e371b0e2cc3
parent6443a95ad74d54b8be5ba85af9b893f3f1d5fa02
Improve stack-overflow heuristic on GNU/Linux

Problem reported by Steve Kemp (Bug#27585).
* src/eval.c (near_C_stack_top): Remove.  All uses replaced
by current_thread->stack_top.
(record_in_backtrace): Set current_thread->stack_top.
This is for when the Lisp interpreter calls itself.
* src/lread.c (read1): Set current_thread->stack_top.
This is for recursive s-expression reads.
* src/print.c (print_object): Set current_thread->stack_top.
This is for recursive s-expression printing.
* src/thread.c (mark_one_thread): Get stack top first.
* src/thread.h (struct thread_state.stack_top): Now void *, not char *.
src/eval.c
src/lisp.h
src/lread.c
src/print.c
src/sysdep.c
src/thread.c
src/thread.h