gnus-atomic-progn-assign
gnus-atomic-progn-assign is a Lisp macro in `gnus-util.el
'.
(gnus-atomic-progn-assign PROTECT &rest FORMS)
Evaluate FORMS, but ensure that the variables listed in PROTECT
are not changed if anything in FORMS signals an error or otherwise
non-locally exits. The variables listed in PROTECT are updated atomically.
It is safe to use gnus-atomic-progn-assign with long computations.
Note that if any of the symbols in PROTECT were unbound, they will be
set to nil on a successful assignment. In case of an error or other
non-local exit, it will still be unbound.