diff options
| author | Stefan Monnier | 2021-01-20 09:52:07 -0500 |
|---|---|---|
| committer | Stefan Monnier | 2021-01-20 09:52:07 -0500 |
| commit | 420661af07448857f0a17e15dc27bceeb6aff541 (patch) | |
| tree | e2a3cf1591451f2a2d60da8e366e5a97c0138903 /src/alloc.c | |
| parent | 849fe71de7b041c21cb776c7428c39e0ce67df14 (diff) | |
| download | emacs-420661af07448857f0a17e15dc27bceeb6aff541.tar.gz emacs-420661af07448857f0a17e15dc27bceeb6aff541.zip | |
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`.
Diffstat (limited to 'src/alloc.c')
| -rw-r--r-- | src/alloc.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/alloc.c b/src/alloc.c index c0a55e61b97..b86ed4ed262 100644 --- a/src/alloc.c +++ b/src/alloc.c | |||
| @@ -6101,11 +6101,13 @@ garbage_collect (void) | |||
| 6101 | 6101 | ||
| 6102 | gc_in_progress = 0; | 6102 | gc_in_progress = 0; |
| 6103 | 6103 | ||
| 6104 | unblock_input (); | ||
| 6105 | |||
| 6106 | consing_until_gc = gc_threshold | 6104 | consing_until_gc = gc_threshold |
| 6107 | = consing_threshold (gc_cons_threshold, Vgc_cons_percentage, 0); | 6105 | = consing_threshold (gc_cons_threshold, Vgc_cons_percentage, 0); |
| 6108 | 6106 | ||
| 6107 | /* Unblock *after* re-setting `consing_until_gc` in case `unblock_input` | ||
| 6108 | signals an error (see bug#43389). */ | ||
| 6109 | unblock_input (); | ||
| 6110 | |||
| 6109 | if (garbage_collection_messages && NILP (Vmemory_full)) | 6111 | if (garbage_collection_messages && NILP (Vmemory_full)) |
| 6110 | { | 6112 | { |
| 6111 | if (message_p || minibuf_level > 0) | 6113 | if (message_p || minibuf_level > 0) |