; * src/lread.c (read0): Fix specpdl off-by-one bug in last change.

This commit is contained in:
Mattias Engdegård 2022-08-30 11:20:42 +02:00
parent 57ba65e047
commit 8954fcb93b

View file

@ -3702,11 +3702,13 @@ read0 (Lisp_Object readcharfun, bool locate_syms)
char *read_buffer = stackbuf;
ptrdiff_t read_buffer_size = sizeof stackbuf;
char *heapbuf = NULL;
specpdl_ref count = SPECPDL_INDEX ();
specpdl_ref base_pdl = SPECPDL_INDEX ();
ptrdiff_t base_sp = rdstack.sp;
record_unwind_protect_intmax (read_stack_reset, base_sp);
specpdl_ref count = SPECPDL_INDEX ();
bool uninterned_symbol;
bool skip_shorthand;
@ -4354,7 +4356,7 @@ read0 (Lisp_Object readcharfun, bool locate_syms)
}
}
return unbind_to (count, obj);
return unbind_to (base_pdl, obj);
}