SYNOPSIS
string load_name()
string load_name(object obj)
string load_name(string obj)
DESCRIPTION
Return the load name for the object <obj> which may be given
directly or by its name.
If <obj> is a clone, return the load_name() of <obj>'s blueprint.
If <obj> is a blueprint, return the filename from which the
blueprint was compiled.
If <obj> is given by name but not/no longer existing, the
function synthesizes the load name as it should be and returns
that. If the given name is illegal, the function returns 0.
As a special case, if <ob> is 0, the function returns 0.
For virtual objects this efun returns the original load_name of the
object created by the virtual compiler.
If <obj> is omitted, the name for the current object is returned.
In contrast to the object_name(), the load name can not be changed
by with rename_object() or a VC. However, if an object uses
replace_program() the load name no longer reflects the actual
behaviour of an object.
The returned name starts with a '/', unless the driver is running
in COMPAT mode.
EXAMPLES
object o;
o = clone_object("/std/thing");
write(load_name(o)); --> writes "/std/thing" in !compat mode
and "std/thing" in compat mode
write(load_name("/std/thing")); --> same as above
write(load_name("/std/thing#4n5")); --> writes 0
HISTORY
Introduced in LDMud 3.2.6.
Strings are accepted as arguments since 3.2.8.
0 is accepted as argument since 3.2.9.
SEE ALSO
clone_object(E), clonep(E), object_name(E), load_object(E),
replace_program(E), program_name(E), present_clone(E)
|