SYNOPSIS
	object shadow(object ob, int flag)

DESCRIPTION
	If <flag> is 1 then current object will shadow <ob>. If <flag> is 0
	then either 0 will be returned or the object that is shadow for <ob>.

	An object that defines the function query_prevent_shadow() to return
	1 can't be shadowed, and the shadow() function will return 0 instead
	of <ob>.

	If an object A shadows an object B then all call_other() to B will
	be redirected to A. If object A has not defined the function, then
	the call will be passed to B. There is only on object that can call
	functions in B with call_other(), and that is A. Not even object B
	can call_other() itself. All normal (internal) function calls
	inside B will however remain internal to B.

	There are two ways to remove the shadow. Either destruct it, or the
	object that was shadowed. In the latter case the shadow will also
	be destructed automatically.

SEE ALSO
