[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 420661a: Don't let `maybe_quit` prevent resetting `consing_until_
From: |
Stefan Monnier |
Subject: |
master 420661a: Don't let `maybe_quit` prevent resetting `consing_until_gc` (bug#43389) |
Date: |
Wed, 20 Jan 2021 09:52:14 -0500 (EST) |
branch: master
commit 420661af07448857f0a17e15dc27bceeb6aff541
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>
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`.
---
src/alloc.c | 6 ++++--
src/window.c | 2 +-
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/alloc.c b/src/alloc.c
index c0a55e6..b86ed4e 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -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)
diff --git a/src/window.c b/src/window.c
index e025e0b..eb16e2a 100644
--- a/src/window.c
+++ b/src/window.c
@@ -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);
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master 420661a: Don't let `maybe_quit` prevent resetting `consing_until_gc` (bug#43389),
Stefan Monnier <=