SYNOPSIS
        void set_this_object(object object_to_pretend_to_be);

DESCRIPTION
        This is a privileged function, only to be used in the master
        object or in the simul_efun object.

        It changes the result of this_object() in the using function,
        and the result of previous_object() in functions called in
        other objects by call_other().        Its effect will remain till
        there is a return of an external function call, or another
        call of set_this_object(). While executing code in the master
        object's program or the primary simul_efun object's program,
        set_this_object() is granted even if this_object() is altered
        by set_this_object(). This does not apply to functions
        inherited from other programs.

        Use it with extreme care to avoid inconsistencies.  After a
        call of set_this_object(), some LPC-constructs might behave in
        an odd manner, or even crash the system. In particular, using
        global variables or calling local functions (except by
        call_other) is illegal.

        With the current implementation, global variables can be
        accessed, but this is not guaranteed to work in subsequent
        versions.

        Allowed are call_other, map functions, access of local
        variables (which might hold array pointers to a global array),
        simple arithmetic and the assignment operators.

BUG
        After set_this_object(), references to global variables and
        local function should be actively caught and rejected.

SEE ALSO
        this_object(E), set_this_player(E)
