Subject: Re: bug#78917: feature/igc [PATCH] Avoid chaining finalizers together

From: Pip Cet <[email-masked]>
Date: Sat, 28 Jun 2025 08:30:49 +0000

"Helmut Eller" <[email-masked]> writes:

> Lisp_Finalizers are currently chained together in a doubly linked list.
> This prevents them from being collected.  I propose that we simply don't
> use this list with MPS.

See https://lists.gnu.org/archive/html/emacs-devel/2025-05/msg00468.html
and bug#77338.

The way finalizers are currently run on the master branch when they
appear in weak tables, even if there is no chance that the entry that
references them is ever collected, makes them pretty much unusable on
that branch, in my book.  Making them usable with --with-mps=yes isn't
much of a priority for me, TBH, as code using them would break when we
compile without MPS support.

(I considered using finalizers for font finalization; it works, but
would break if a strong reference to the font is mistaken for a weak one
and fails to keep alive the font).

Pip