SYNOPSIS:
    string object_name()
    string object_name(object ob)

DESCRIPTION:
    Get the file name of an object or if no argument is given of the current
    object. If the object is a cloned object, then it will not have a
    corresponding file name, but rather a new name based on the original
    file name.
        
    The returned name always begins with '/' (absolute path),
  	except when the parser runs in COMPAT (-o) mode.

EXAMPLES:
    find_object(object_name(ob)) == ob    
    This is guaranteed to be true for all objects ob that are not
   	destructed.
        
    sizeof(explode(object_name(ob), "#")) == 1  
    This is always true if ob is a blue print.
        
SEE ALSO:
        find_object(E)

29.10.2006 Zesstra

