/doc/efun/set_this_object


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.

SEE ALSO

this_object
set_this_player

| Home | Applied | Concepts | Efuns | Help | Intro | Lib | LPC | Prop | Obj | Sefuns | Std | W |

Nightfall@quest.tat.physik.uni-tuebingen.de
Automatically generated on Don, 11. Apr 1996