Mutates a global variable for the duration of a dynamic scope.
The macro emits a global=
call to change the value of each name bound
by the pattern pat
, and emits defer
and defer-yield
forms
to restore their original values at the end of the current lexical scope.
Any number of arguments are valid. (with-global a b c d)
is equivalent to:
(with-global a b)
(with-global c d)