Don't let maybe_quit prevent resetting consing_until_gc (bug#43389)

* src/alloc.c (garbage_collect): Postpone `unblock_input` a bit.
* src/window.c (window_parameter): Avoid `maybe_quit`.
This commit is contained in:
Stefan Monnier 2021-01-20 09:52:07 -05:00
parent 849fe71de7
commit 420661af07
2 changed files with 5 additions and 3 deletions

View file

@ -6101,11 +6101,13 @@ garbage_collect (void)
gc_in_progress = 0;
unblock_input ();
consing_until_gc = gc_threshold
= consing_threshold (gc_cons_threshold, Vgc_cons_percentage, 0);
/* Unblock *after* re-setting `consing_until_gc` in case `unblock_input`
signals an error (see bug#43389). */
unblock_input ();
if (garbage_collection_messages && NILP (Vmemory_full))
{
if (message_p || minibuf_level > 0)

View file

@ -2260,7 +2260,7 @@ return value is a list of elements of the form (PARAMETER . VALUE). */)
Lisp_Object
window_parameter (struct window *w, Lisp_Object parameter)
{
Lisp_Object result = Fassq (parameter, w->window_parameters);
Lisp_Object result = assq_no_quit (parameter, w->window_parameters);
return CDR_SAFE (result);
}