On 03/03/2015 09:03 AM, Stefan Monnier wrote: > Was this discussed on emacs-devel and I missed it? No. > Question: why use a doubly-linked list, unlike pretty much everything > else in our code base? We remove finalizers from the middle of the list in unchain_finalizer. We could just rebuild the list as we scan it, but when we'd have to touch every node. Or we could maintain auxiliary state, but then in run_finalizers we'd have to scan the whole list instead of the part we're running. >> + DEFVAR_BOOL ("gc-precise-p", gc_precise_p, > > This name is wrong. "-p" stands for "predicate" and a predicate is > a function that returns a boolean, whereas this is a variable/constant. I've also seen it for boolean-valued variables.