Execute an event form without affecting the world.
Fake-event is a bit like make-event, in that both are macros that evaluate a form to obtain an event, then run that event. Actually, fake-event doesn't evaluate the form itself (it macroexpands to a call in which the form is not quoted, so that it is evaluated before fake-event-fn operates upon it.) It then calls the resulting event using a make-event inside an LD.
Unlike make-event, fake-event can only take a form that evaluates to a single value, not an error triple. But fake-event-er is a simple wrapper for fake-event that supports an error-triple-valued form.
If the event produces a hard error, then fake-event will also produce a hard
error unless the keyword argument :hard-error-ok t is given. If :hard-error-ok
is set, fake-event returns