[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: using finalizers
From: |
Stefan Monnier |
Subject: |
Re: using finalizers |
Date: |
Thu, 30 Dec 2021 22:36:23 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) |
>> (macroexpand '(letrec ((more (make-finalizer close))
>> (close (lambda ()
>> (setq bar t))))
>> (lambda ()
>> (when more
>> (pop x)))))
[...]
> Indeed, the code needs to swap `more` and `close`.
Actually, simpler:
(letrec ((more (make-finalizer
(lambda ()
(print "close-resource")
(setq more nil)))))
(lambda ()
(when more
(pop x)))))
-- Stefan
Re: using finalizers, Eli Zaretskii, 2021/12/31