* src/eval.c (unbind_for_thread_switch): Fix iteration over the

specpdl stack.
This commit is contained in:
Barry O'Reilly 2013-10-19 14:42:38 -04:00
parent 77936017af
commit 6a3121904d
2 changed files with 7 additions and 2 deletions

View file

@ -1,3 +1,8 @@
2013-10-19 Barry O'Reilly <gundaetiapo@gmail.com>
* eval.c (unbind_for_thread_switch): Fix iteration over the
specpdl stack.
2013-09-01 Eli Zaretskii <eliz@gnu.org>
* eval.c (unbind_for_thread_switch): Accept a 'struct

View file

@ -3488,9 +3488,9 @@ unbind_for_thread_switch (struct thread_state *thr)
{
union specbinding *bind;
for (bind = thr->m_specpdl_ptr; bind != thr->m_specpdl; --bind)
for (bind = thr->m_specpdl_ptr; bind > thr->m_specpdl;)
{
if (bind->kind >= SPECPDL_LET)
if ((--bind)->kind >= SPECPDL_LET)
{
bind->let.saved_value = find_symbol_value (specpdl_symbol (bind));
do_one_unbind (bind, 0);