+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
{
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);