concepts/
efun/
SYNOPSIS
	void destruct(object ob)
	void destruct(string ob)

DESCRIPTION
	Completely destroy and remove object ob. After the call to
	destruct(), no global variables will exist any longer, only
	local ones, and arguments. 
	
	If an object self-destructs, it will not immediately terminate
	execution. If the efun this_object() will be called by the
	destructed object the result will be 0.
	
	To keep things consistent, don't use destruct() on other
	objects, but tell them to selfdestruct by call_other(ob,
	"remove"); (the standard objects should provide a member lfun
	remove() for this purpose). This will ensure correct update of
	weights, volumes etc. 

EXAMPLE
	ob->remove();
	if(ob)	/* still there, probably ob does not provide remove() */
	   destruct(ob);
	
	This is a way of destructing an object but giving it a chance
	to do it by itself.

SEE ALSO
	clone_object(E), remove(A)