SYNOPSIS
        void dangling_lfun_closure()

DESCRIPTION
        Handle a dangling lfun-closure.

        This is called when the gamedriver executes a closure using a
        vanished lfun. A proper handling is to raise a runtime error.

        Technical:
          Upon replacing programs (see efun replace_program()), any
          existing lambda closures of the object are adjusted to the
          new environment. If a closure uses a lfun which vanished in
          the replacement process, the reference to this lfun is
          replaced by a reference to this function. The error will
          then occur when the execution of the adjusted lambda reaches
          the point of the lfun reference. There are two reasons for
          the delayed handling. First is that the program replacement
          and with it the closure adjustment happens at the end of a
          backend cycle, outside of any execution thread: noone would
          see the error at this time.  Second, smart closures might
          know/recognize the program replacement  and skip the call to
          the vanished lfun.

SEE ALSO
        closures(LPC)
